在Django的CreateView中显示外键的关联值,可以通过以下步骤实现:
from django.db import models
class ForeignKeyModel(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class MainModel(models.Model):
foreign_key = models.ForeignKey(ForeignKeyModel, on_delete=models.CASCADE)
# 其他字段...
def __str__(self):
return self.foreign_key.name
from django.views.generic.edit import CreateView
from .models import MainModel
class MainModelCreateView(CreateView):
model = MainModel
template_name = 'main_model_create.html'
fields = ['foreign_key', 'other_field1', 'other_field2']
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Create">
</form>
在上述模板中,使用{{ form.as_p }}
可以自动生成表单字段的HTML代码,包括外键字段。默认情况下,外键字段会显示为下拉列表,其中的选项是ForeignKeyModel的所有对象。每个选项的值是ForeignKeyModel对象的主键,显示的文本是ForeignKeyModel对象的__str__
方法返回的字符串。
这样,当使用MainModelCreateView创建对象时,就可以在表单中选择外键关联的值了。
以上是在Django的CreateView中显示外键的关联值的方法。对于Django的CreateView以及其他相关概念和技术,可以参考腾讯云的相关文档和产品:
领取专属 10元无门槛券
手把手带您无忧上云