【发布时间】:2018-12-16 23:31:11
【问题描述】:
我正在尝试在 Django 中构建一个包含公司和项目的应用程序的数据库。每个公司可以有很多项目,每个项目只属于一个公司。
class Company(models.Model):
name = models.CharField(max_length=20)
class Project(models.Model):
company = models.ForeignKey(Company, on_delete=models.CASCADE)
project_id = models.PositiveIntegerField()
name = models.CharField(max_length=20)
我想在模型 Project 中有一个字段或属性,它就像公司内项目的自动增量整数一样。行为应如下所示:
c1 = Company(name="C1")
c2 = Company(name="C2")
px = Project(company=c1, name="X")
py = Project(company=c2, name="Y")
pz = Project(company=c1, name="Z")
px.project_id
1
py.project_id
1
pz.project_id
2
什么是正确的方法?
【问题讨论】:
-
project_id是个坏主意,会让人感到困惑。您可以使用将对象id与某种字符串组合在一起的属性吗?还是只使用Project的id?
标签: django model auto-increment