我想查詢一個用戶在Django中的收藏夾。每個用戶都有一個組態檔(userprofile),收藏夾被存盤在這個userprofile模型中。我希望能夠只用用戶的ID來查詢收藏夾(它們是用戶組態檔)。這就是我的方法,但并不奏效(即使用戶有3個收藏夾,它也會回傳一個空的查詢):
favorites = UserProfile.objects.filter( favorites__user__id=user_id)
我的用戶模型:
class User(AbstractUser)。
usertype = models.PositiveSmallIntegerField(choices=constant.USER_TYPE_CHOICES )
profile = models.OneToOneField(UserProfile, on_delete=models. CASCADE, primary_key=False)
token = models.CharField(max_length=10, default='' )
我的UserProfile模型:
class UserProfile(models.Model) 。
birth_date = models.DateField(default=datetime.date(1900, 1, 1))
favorites = models.ManyToManyField('self'/span>, symmetrical=False)
我應該如何做? 非常感謝!
uj5u.com熱心網友回復:
favorites = User.objects.get(id=user_id).profile.favorites.all()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/307467.html
標籤:
