0

Django 内では、外部キーの初期値を設定する方法が 2 つあります。私の2番目のアプローチは私にはうまくいかないようで、その理由がわかりません:

モデル:

class Task(models.Model):
    contact = models.ForeignKey(Contact, null=True, blank=True)

作品:

意見:

form = TaskForm(contact, instance=task, prefix='form', initial = {'contact' : contact.pk})

形:

class TaskForm(ModelForm):
    def __init__(self, contact, *args, **kwargs):
        super(TaskForm, self).__init__(*args, **kwargs)

    class Meta:
        model = Task

動作しません:

意見:

form = TaskForm(contact, instance=task, prefix='form')

形:

class TaskForm(ModelForm):
    def __init__(self, contact, *args, **kwargs):
        super(TaskForm, self).__init__(*args, **kwargs)
        if contact:        
            self.fields['contact'].initial = contact.pk

    class Meta:
        model = Task
4

0 に答える 0