gpt4 book ai didi

mysql - 获取每个帖子的第一条评论

转载 作者:行者123 更新时间:2023-11-30 23:29:20 24 4
gpt4 key购买 nike

我正在使用 django 评论系统,并且只想获取帖子的第一条评论。

mysql> desc django_comments ;
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| content_type_id | int(11) | NO | MUL | NULL | |
| object_pk | longtext | NO | | NULL | |
| site_id | int(11) | NO | MUL | NULL | |
| user_id | int(11) | YES | MUL | NULL | |
| user_name | varchar(50) | NO | | NULL | |
| user_email | varchar(75) | NO | | NULL | |
| user_url | varchar(200) | NO | | NULL | |
| comment | longtext | NO | | NULL | |
| submit_date | datetime | NO | | NULL | |
| ip_address | char(15) | YES | | NULL | |
| is_public | tinyint(1) | NO | | NULL | |
| is_removed | tinyint(1) | NO | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+

我的帖子是 content_type_id = 48。

我想知道在每个帖子 (object_pk) 中留下第一条评论(最小提交日期)的用户。

是否有“django”方法来做到这一点?或者需要使用原始 SQL?

最佳答案

使用这样的函数:

def get_first_comment(post):
from django.contrib.comments.models import Comment
from django.contrib.contenttypes.models import ContentType
ct = ContentType.objects.get_for_model(post)
first_comments = Comment.objects.filter(
content_type=ct,
object_id=post.pk,
).order_by("submit_date")
if first_comments:
return first_comments[0]
return None

它加载模型实例的内容类型,然后按内容类型和对象 ID 过滤评论,按提交日期对评论进行排序。然后,如果查询不为空,它会获取第一条评论。

关于mysql - 获取每个帖子的第一条评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11508051/

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