gpt4 book ai didi

mysql - 如何根据Python django中的ID从manytomany表中检索数据

转载 作者:行者123 更新时间:2023-11-29 19:06:38 24 4
gpt4 key购买 nike

假设有两个表

  1. mysql table name : user, Django model name: User
  2. mysql table video : user, Django model name: Video

用户模型包含一个字段

videos = models.ManyToManyField(Video, blank=True, null=True, related_name='video')

现在我有了一个新的 mysql 表名称:user_videos

+-------------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
| video_id | int(11) | NO | MUL | NULL | |
+-------------------+---------+------+-----+---------+----------------+

现在我需要像这样的mysql查询一样检索我的django数据:select * from user_videos order by id desc;

user.videos.all() 通过 video.id 而不是 user_videos.id 给我订单

有什么好的方法可以通过在 python django 中使用模型而不使用原始查询来实现此目的。

最佳答案

您可以通过执行以下操作来访问 Django 自动为您创建的联接表:

User.videos.through.objects.all()

如果您需要向联接表添加更多数据,可以使用 through 选项设置多对多关系并指定自定义模型:

https://docs.djangoproject.com/en/1.11/topics/db/models/#extra-fields-on-many-to-many-relationships

关于mysql - 如何根据Python django中的ID从manytomany表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43434668/

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