Python中文
首页
教程
问答
标签
搜索
登录
注册
Django没有在temp中正确显示我的一个表
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我这里有个问题,希望你能帮我</p> <p>以下是我所拥有的:</p> <p><strong>型号.py</strong></p> <pre><code>class Personinfo(models.Model): name = models.CharField(max_length=128) def __str__(self): return self.name class Personage(models.Model): AGES = ( ('0', '0'), ('1', '1'), ('2', '2'), ) age = models.CharField(max_length=128,choices=AGES, default=True) def __str__(self): return self.age class Person(models.Model): person = models.ForeignKey(Personinfo, null=True) personage = models.ForeignKey(Personage, null=True) address = models.TextField() phone_number = models.CharField(max_length=128) hobbies =models.CharField(max_length=128) def __str__(self): return self.address </code></pre> <p><strong>视图.py</strong></p> <pre><code>def index(request): qs = Person.objects.all() form = personform(request.POST or None) form2 = personinfoform(request.POST or None) form3 = personageform(request.POST or None) context = { "qs": qs, "form2":form2, "form":form, "form3":form3, } form2_valid = form2.is_valid() form_valid = form.is_valid() form3_valid = form3.is_valid() if form2_valid and form_valid and form3_valid: a = form2.save() b= form.save(commit=False) b.person = a b.save() c = form3.save(commit=False) c.personage = a c.save() return render(request, "index.html", context) </code></pre> <p><strong>forms.py</strong></p> <pre><code>class personinfoform(forms.ModelForm): name = forms.CharField(label= 'Nombre') class Meta: model = Personinfo fields = ["name"] class personform(forms.ModelForm): address = forms.CharField(label='Direccion') phone_number = forms.CharField(label='Telefono') hobbies = forms.CharField(label='Hobbies') class Meta: model = Person exclude = ('person','personage',) fields = ["address","phone_number","hobbies"] class personageform(forms.ModelForm): class Meta: model = Personage fields =["age"] </code></pre> <p><strong>index.html</strong></p> <pre><code><form method="POST" action="">{% csrf_token %} {{form2.as_p}} {{form3.as_p}} {{form.as_p}} <input type="submit" value="Save!" /> </form> <table > <tr> <th>Name</th> <th>Age</th> <th>Address</th> <th>Telefono</th> <th>Hobbies</th> </tr> {% for p in qs %} <tr> <td>{{ p.person.name}}</td> <td>{{ p.personage.age }}</td> <td>{{ p.address }}</td> <td>{{ p.phone_number }}</td> <td>{{ p.hobbies }}</td> </tr> {% endfor %} </table> </code></pre> <p>正如你所看到的,我有3个表单,它保存正确,但它没有在我的模板中显示为<code>person.name</code>,我正在尝试<code>personage.age</code>我正在尝试使它完全像<code>Personinfo</code>但它不起作用。怎么了</p> <p>基本上,我希望<code>Personage</code>能像<code>Personinfo</code>一样有效地工作</p> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我不知道你为什么把模型弄得这么复杂,外键在这种情况下似乎不是很有用,所以我假设你给我们展示了你的代码的简化版本</p> <p>我认为问题在于你的保存代码。订单不正确。主模型应最后保存,以便包含外键。您是否应该先保存form2和form3,最后保存form。 我建议您使用显式变量名而不是a、b、c,这会使错误更加明显。 我还认为你的人物形象缺少一个适合年龄的领域</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
10 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
10 回答
无法使用Django+nginx上载媒体文件
5 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
2 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
8 回答
无法使用Djangockedi验证CBV中的字段
1 回答
无法使用Djangocketditor上载图像(错误400)
7 回答
无法使用Djangocron进行函数调用
9 回答
无法使用Djangofiler djang上载文件
10 回答
无法使用Djangokronos
9 回答
无法使用Djangomssql provid
3 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
2 回答
无法使用Djangomssq迁移Django数据库
8 回答
无法使用Djangonox创建用户
6 回答
无法使用Djangopyodb从Django查询SQL Server
3 回答
无法使用Djangopython3ldap连接到ldap
1 回答
无法使用Djangoredis连接到redis
7 回答
无法使用Django中的FK创建新表
7 回答