简体   繁体   English

如何获取带有构建自定义sql查询的最新注释的blog_post.title?

[英]How can i get blog_post.title with latest comment building a custom sql query?

The sql query: sql查询:

select id,title 
from blog_post inner join (select object_pk, max(submit_date) 
                           from django_comments 
                           group by object_pk 
                           order by submit_date DESC) as foo 
where foo.object_pk=blog_post.id;

How can i get the same result using django model.objects.get function? 我如何使用Django model.objects.get函数获得相同的结果? How can i write custom query with django for this? 我该如何用Django编写自定义查询? Is there anything like 有什么像

model.objects.getwithsqlquery('''select id,title 
from blog_post inner join (select object_pk, max(submit_date) 
                           from django_comments 
                           group by object_pk 
                           order by submit_date DESC) as foo 
where foo.object_pk=blog_post.id;''')

mysql tables are: mysql表是:

mysql> describe blog_post;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| user_id  | int(11)      | NO   | MUL | NULL    |                |
| title    | varchar(100) | NO   |     | NULL    |                |
| content  | longtext     | NO   |     | NULL    |                |
| created  | date         | NO   |     | NULL    |                |
| modified | date         | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

mysql> describe 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    |                |
+-----------------+--------------+------+-----+---------+----------------+
13 rows in set (0.00 sec)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM