[英]Inverted foreign-key relation in django admin
我有两个具有简单一对多关系的类。
models.py
class Bar(models.Model):
label = models.CharField(max_length=36)
class Foo(models.Model):
bar = models.ForeignKey(Bar, null = True)
管理员
class BarAdmin(admin.modelAdmin):
...
当我从django管理员编辑“ Bar”类时,我希望看到多行选择HTML标记中的每个Foo对象。 验证表单时,应该更新Foo和Bar之间的关系。
我怎样才能做到这一点 ?
您可以使用以下方法处理Foo实例
bar = Bar.objects.get(pk = bar_id)
foo_set = bar.foo_set.all()
其中bar_id
是Bar对象的主键,或者
foo_set = Foo.objects.filter(bar__pk = bar_id) # Note the double underscore
如果要在模板的选择标记中呈现Foo对象,则可以手动执行以下操作:
<select>
{% for f in foo_set %}
<option value="{{ f.pk }}">{{ f }}</option>
{% endfor %}
</select>
或者,您可以创建django表单,请参阅django表单 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.