【发布时间】:2018-11-14 01:20:33
【问题描述】:
在我的 Django Rest Framework api 中,我尝试向我的模型 UserPosts 添加一个属性,该属性返回所有喜欢的帖子。尽管我尽了最大的努力,但我仍然遇到这个错误。下面是我的帖子模型:
class UserPosts(models.Model):
userProfile = models.ForeignKey(UserProfile, related_name="posts", on_delete=models.CASCADE)
image = models.ImageField()
caption = models.CharField(max_length=240)
@property
def get_likes(self):
from liked.models import Like
return Like(post=self)
这是我喜欢的模型:
class Like(models.Model):
user = models.OneToOneField(UserProfile, on_delete=models.CASCADE,)
post = models.ForeignKey(UserPosts, on_delete=models.CASCADE)
liked_at = models.DateTimeField()
最后是 post 序列化器:
class postSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = models.UserPosts
fields = ('userProfile', 'image', 'caption', 'likes')
谢谢。
【问题讨论】:
-
用
postSerializer中的like_set替换likes(你最好修正一下这种命名风格)。 -
@WillemVanOnsem 非常感谢。我没有足够的代表来支持你,否则我会。
标签: django django-models django-rest-framework