我是编程新手,我正在尝试我的第一个Django应用程序。你知道吗
这一次我有三个不同的模型,但是当我点击Save
的时候,只有一个form
我想保存这个表单模型和其他两个模型的数据。你知道吗
所以在我的展示中,我想循环其他两个模型来展示我所拥有的。你知道吗
这有可能吗?你知道吗
你知道吗型号.py你知道吗
class Personame(models.Model):
name = models.CharField(max_length=128)
def __str__(self):
return self.name
class Personlastname(models.Model):
last_name = models.CharField(max_length=128)
def __str__(self):
return self.last_name
class Personinfo(models.Model):
personame = models.CharField(max_length=128)
personlastname = models.CharField(max_length=128)
address = models.TextField()
phone_number = models.CharField(max_length=128)
hobbies =models.CharField(max_length=128)
def __str__(self):
return self.personame
你知道吗表单.py地址:
class personform(forms.ModelForm):
personame = forms.CharField(label = "Name")
personlastname = forms.CharField(label = "Last Name")
class Meta:
model = Personinfo
fields = ["personame","personlastname","address","phone_number","hobbies"]
你知道吗视图.py地址:
def index(request):
queryset = Personame.objects.all()
queryset2 = Personlastname.objects.all()
qs = chain(queryset,queryset2)
form = personform(request.POST or None)
context = {
"qs": qs,
"form":form,
}
if form.is_valid():
instance = form.save()
return render(request, "index.html", context)
你知道吗索引.html地址:
<form method="POST" action="">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save!" />
</form>
<table >
<tr>
<th>Name</th>
<th>Last Name</th>
</tr>
{% for item in qs %}
<tr>
<td>{{ item.name }}</td>
<td>{{ item.last_name }}</td>
</tr>
{% endfor %}
</table>
基本上我想把name
保存在Personinfo
和Personame
,我想把last_name
保存在Personinfo
和Personlastname
。所以我可以在模板中显示Personame
和Personlastname
。你知道吗
有人能帮我吗?你知道吗
我会很高兴你的帮助。。。谢谢
您的模型没有类Meta,需要在类Meta中定义表名,如:
然后您需要覆盖personform中的save函数
你的模型一点意义都没有。他们真的应该是一个模型。您尚未定义任何模型之间的任何关系。为此,必须添加OneToOneField或ForeignKey。这实际上意味着每个数据项都有一个额外的列。完全多余。你知道吗
这使得你的生活更加简单的编码。你知道吗
相关问题 更多 >
编程相关推荐