django - 如何在多对多领域 django 中获取最新的 id
问题描述
class Recept(models.Model):
naslov = models.CharField(max_length=100)
sestavine = models.CharField(max_length=100)
priprava = models.TextField()
datum = models.DateTimeField(default=timezone.now)
avtor = models.ForeignKey(User, on_delete=models.CASCADE)
likes = models.ManyToManyField(User, related_name="blog_recept")
def last_like(self):
return self.likes.latest('id')
所以我想返回字段喜欢的最新 id 但此代码返回用户的最新 id 我怎样才能获得最新的喜欢 id?
解决方案
正如@Mihai Chelaru所说,您需要过滤直通模型。但是不需要自己制作直通模型,可以使用默认生成的:
through_instance = Recept.likes.through.objects.latest('id')
latest_like_user = through_instance.user
latest_like_recept = through_instance.recept
现在latest_like_user
包含最新喜欢的用户并latest_like_recept
包含最新喜欢的接收。
推荐阅读
- php - 更改订单状态后,状态仍为'pending_payment'vivawallet支付模块
- spring-boot - 轴突查询最大尺寸返回
- excel - 如何使用 ExcelDna.Addin 为 Excel 编写 UDF
- database - 如何在一段时间后锁定 Access 表文件(链接表)
- r - (函数(类,fdef,mtable)中的错误:无法找到签名“SpatVector”的函数“坐标”的继承方法
- r - R中列联表的行平均值
- typescript - 在打字稿中找不到名称“内容”
- python - 无法使用 Bash Operator 为 python 脚本运行 dag
- python - 用 dtype 拟合具有 numpy 变化的多项式,即使实际数据值保持不变
- pandas - Pandas Mulmtiindex 多列第 1 级