私はこのように私のモデルを持っている:ジャンゴModelFormサブクラスのForeignKey更新
class Event(models.Model):
EventId = models.UUIDField(primary_key=True)
Winner = models.ForeignKey('Participant', on_delete=None)
class Participant(models.Model):
ID = models.UUIDField(primary_key=True)
Name = models.CharField()
私はform.py
class UpdateWinner(ModelForm):
def __init__(self, *args, **kwargs):
e = kwargs.pop('e', '')
super(UpdateWinner, self).__init__(*args, **kwargs)
self.fields['Winner'] = forms.ModelChoiceField(queryset=e))
class Meta:
model = Event
fields = '__all__'
やビュー内でこれを使用して、イベントオブジェクトの既存のインスタンスを更新しようとしています。 py
def update_winner(request, event_id):
if request.method == 'POST':
form = UpdateWinner(request.POST, instance=Event.objects.get(EventId=event_id))
if form.is_valid():
else:
event_par = Participant.objects.filter(some query)
form = UpdateWinner(instance=event, e=event_par)
私はeventidを印刷してチェックしましたが、正しい値が渡されています。何らかの理由でWinnerフィールドがform.is_valid()関数で何らかのエラーを引き起こしていて、 "str 'オブジェクトに' model '属性がありません。誰でもここで私を助けることができます
コードに複数の構文と字下げのエラーがあります。完全なエラーメッセージと説明も入力していません。 –