Дубликат ключа Django при попытке отправить форму с помощью внешнего ключа

#django #django-forms

#django #django-forms

Вопрос:

Мне нужно сохранить форму с listaflor и несколькими экземплярами flora2estado, когда я пытаюсь отправить эту форму, я получаю: IntegrityError в /enviar_flora/ (1062, «Дубликат записи ’99-10031′ для ключа ‘PRIMARY'»)

views.py:

 def CreateFlo(request):
    form = FloForm()
    if request.method == 'POST':
        form = FloForm(request.POST)
        if form.is_valid():
            listafor = form.save()
            estados = form.cleaned_data.get('estados')
            for estado in estados:
                Flora2Estado.objects.create(especie=listafor, estado= estado)
            # or you can use bulk_create: https://docs.djangoproject.com/en/3.0/ref/models/querysets/#bulk-create
  
    return render(request,'accounts/enviar_flora.html')
 

models.py:

 class Listaflor(models.Model):
    especie_id = models.AutoField(db_column="especie_id",primary_key=True)
    familia = models.ForeignKey(Familia, models.DO_NOTHING, db_column='familia_id', blank=True, null=True)
    Especie = models.CharField(db_column='especie', max_length=255, blank=True, null=True)
    class Meta:
        managed = True
        db_table = 'listaflor'

class Flora2Estado(models.Model):
    estado = models.ForeignKey(EstadosM, models.CASCADE)
    especie = models.ForeignKey(Listaflor, models.CASCADE,default=99999)
    flora2estado = models.AutoField(primary_key=True, default=99999)
    class Meta:
        managed = True
        db_table = 'flora2estado'
        unique_together = (('estado', 'especie'),)


class EstadosM(models.Model):
    estado_id = models.AutoField(primary_key=True)
    estado_nome = models.CharField(max_length=100, blank=True, null=True)
    nome_abbr = models.CharField(max_length=2, blank=True, null=True)
    criadoem = models.DateTimeField(db_column='criadoEm')
    class Meta:
        managed = False
        db_table = 'estados'
    def __str__(self):
        return self.estado_nome