gpt4 book ai didi

python - 基于外键的django autoincrement

转载 作者:太空狗 更新时间:2023-10-30 02:04:13 26 4
gpt4 key购买 nike

假设我有一个看起来像这样的模型 Issue:

class Issue(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
text = models.TextField()

还有一个叫做 Comment 的,如下所示:

class Comment(models.Model):
issue = models.ForeignKey(Issue)
text = models.TextField()
number = models.AutoField()

我希望评论编号字段与问题相关。

这意味着每个问题都会有其单独的评论#1、评论#2、评论#3...等。

这可以在 Django 中完成吗?

最佳答案

如果您从 Comment 模型中删除了 number 字段并将其替换为 date_added 字段,您仍然可以查询数据库以按顺序提取与特定条目关联的所有评论。

class Comment(models.Model):
issue = models.ForeignKey(Issue)
text = models.TextField()
date_added = models.DateField(auto_now_add = True)

然后,如果您想获得与某个问题相关的所有评论:

i = Issue.object.get(pk=1)    #pk = primary key id for whatever issue you want

comments_by_issue = i.comment_set.all().order_by('date_added')

现在您有一些可以通过索引位置引用的评论(例如,comments_by_issue[0] 将为您提供附加到该问题的第一条评论)。

该索引位置是我能想到的最接近您要查找的内容的方式。其他人提到了 comment.id,但这只是一个自动递增的整数,每条评论都会增加。添加到您系统中的第五条评论可能有 comment.id = 5,但它可能是附加到问题 2 的第一条评论 - 如果我没看错您的查询,在这种情况下拥有评论 ID 没有帮助。

这更像是一种解决方法,而不是直接的答案,但我希望它能有所帮助。

关于python - 基于外键的django autoincrement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22875138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com