我有一个带有两个整数字段的模型,它们应该是外键。在我的管理视图中,这两个字段是可编辑的,但我想在字段旁边显示一个搜索图标,这样我就可以检索另一个模型的id并附加到该字段。 django有这个功能吗?
class Linkage(models.Model):
user_id = models.IntegerField(default=1)
parent_id = models.IntegerField(default=0)
答案 0 :(得分:0)
如果您的模型有两个实际上应该是外键的字段,那么您需要使用ForeignKey
代替IntegerField
,因此:
from django.db import Models
from app.models import yourModel
class Linkage(models.Model):
user_id = models.ForeignKey(yourModel)
parent_id = models.ForeignKey(yourModel)
此Django功能将自动将您的Linkage链接到您选择的其他模型。在管理员中,您将不再需要设置具有外键ID的整数,您只需选择链接模型的实例。
您可以阅读有关Django字段引用here的更多信息。
编辑:按照您设计的模型的方式,可能不会是parent_id,因此您可以将null=True
等选项添加到parent_id
字段中这样:
parent_id = models.ForeignKey(yourModel, null=True)
我强烈建议你阅读Django文档,这对初学者来说非常好,因为它非常详细和清晰。您可以访问文档here。 他们还有一套教程可以帮助您完成这些步骤,并向您介绍开始使用Django here时需要了解的不同基础知识。