0

私のmodel.py:

class RelayAddress(models.Model):
    id = models.AutoField(primary_key=True,default=0)
    sister_relay_relation = models.ManyToManyField('self', through='RelaySisterRelation',symmetrical=False)

    def save(self, *args, **kwargs):
        self.update_time = int(time.time())
        super(RelayAddress,self).save(*args, **kwargs)

class RelaySisterRelation(models.Model):
    id = models.AutoField(primary_key=True,default=0)
    relay = models.ForeignKey(RelayAddress,related_name="relay")
    sister_relay = models.ForeignKey(RelayAddress,related_name="sister_relay")

私のadmin.py

class RelaySisterRelationForm(forms.ModelForm):
    relay=forms.ModelMultipleChoiceField(label=u'relay',widget=forms.CheckboxSelectMultiple(),queryset=RelayAddress.objects.all())
    sister_relay=forms.ModelMultipleChoiceField(label=u'sister_relay',widget=forms.CheckboxSelectMultiple(),queryset=RelayAddress.objects.all())

    def save(self, *args, **kwargs):
        return super(RelaySisterRelationForm, self).save(*args,**kwargs)

私のview.pyがnullの場合、ValueErrorが発生します:

Cannot assign "[<RelayAddress: RelayAddress object>]": "RelaySisterRelation.relay" must be a "RelayAddress" instance.

そして、この問題を解決する方法。

4

1 に答える 1