通过 Django 代码为一对多字段赋值可以使用以下方法:
ParentModel
,另一个是多的一方模型 ChildModel
,并且 ChildModel
有一个外键指向 ParentModel
:from django.db import models
class ParentModel(models.Model):
# 父模型的字段
class ChildModel(models.Model):
parent = models.ForeignKey(ParentModel, on_delete=models.CASCADE)
# 子模型的字段
get()
方法获取父模型实例,并通过 create()
方法创建子模型实例,并将外键字段赋值为父模型实例:from django.shortcuts import get_object_or_404
def your_view(request, parent_id):
parent = get_object_or_404(ParentModel, id=parent_id)
child = ChildModel.objects.create(parent=parent)
# 对子模型其他字段进行赋值
以上代码中,parent_id
是 URL 中传递的参数,使用 get_object_or_404()
方法获取父模型实例。
{% for child in parent.childmodel_set.all %}
{{ child.field_name }}
{% endfor %}
其中,parent
是父模型实例的变量名,childmodel_set
是子模型的默认反向关联名,可以在模型中通过 related_name
属性自定义。
希望这个答案对你有所帮助!如果还有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云