【发布时间】:2012-01-12 10:34:53
【问题描述】:
我需要一个最多可以链接到 3 个数据(相同类型)的模型。
这是一个例子:
我有候选人需要通过 3 个步骤才能被录用
class Candidate(models.Model):
user = models.ForeignKey(User)
step1 = models.TextField(blank=True, null=True,)
step2 = models.TextField(blank=True, null=True,)
step3 = models.TextField(blank=True, null=True,)
每个步骤都有几个人审查
class Review(models.Model):
candidate = models.ForeignKey(Candidate)
reviewer = models.ForeignKey(User)
step1 = models.TextField(blank=True, null=True,)
step2 = models.TextField(blank=True, null=True,)
step3 = models.TextField(blank=True, null=True,)
- 我是否应该分解这些对象,这会给我 4 个对象而不是 2 个对象
例如Candidate、Review、CandidateStep和ReviewStep?- 如果是,如何限制为 3 个步骤?
- 如果没有,如何轻松地遍历这些步骤?
示例数据:
obj, created = Candidate.objects.get_or_create(
user = SelectedCandidate
, defaults = {'step1': '', 'step2': '', 'step3': ''}
)
obj.step1 = 'I\'m really motivated'
obj.step2 = 'I\'m able to do this job'
obj.save()
obj, created = Review.objects.get_or_create(
user = request.user
, defaults = {'step1': '', 'step2': '', 'step3': ''}
)
obj.step1 = 'He seems over motivated'
obj.save()
【问题讨论】:
-
这取决于您实际上要在这些字段中放入的内容。你能举一些例子数据吗?
标签: python django django-models