我想创建form
以创建具有外键Person
的新Address
对象(所有这些模型仅用于练习)。问题是,在PersonCreateForm
模板中,我既看不到地址标签,也看不到地址的文本字段。这是我的代码:
person_app/models.py
:
class Person(models.Model):
name = models.CharField(max_length=20)
address = models.ForeignKey('address_app.Address', on_delete=models.CASCADE)
address_app/models.py
:
class Address(models.Model):
country = models.CharField(max_length=30)
person_app/forms.py
:
class CreatePersonForm(ModelForm):
def save(self, commit=False):
person= super(CreatePersonForm, self).save(commit=False)
Person.objects.create(
name = person.name,
address = person.address.country)
person.html
:
<h1>{{ form.name }}</h1> (name is visible)
<h1>{{ form.address }}</h1> (but address not)
答案 0 :(得分:0)
您的CreatePersonForm
表单应与此类似-
class CreatePersonForm(ModelForm):
class Meta:
model = Person
fields = ("name", "address")
def save(self, commit=False):
person= super(CreatePersonForm, self).save(commit=False)
Person.objects.create(
name = person.name,
address = person.address.country)
尝试一下,让我知道它是否有效。