Django查询contentType数据以进行评级和审查

问题描述

我有一个旅行模型和anotehr模型进行评分:

class Trip(models.Model):
    name = CharField(max_length=500)
    rating = GenericRelation(ratings,related_query_name='trips')


class rating(models.Model):
    value = models.IntegerField()
    comment = models.TextField()
    created_on = models.DateTimeField(_("Created on"),auto_Now_add=True)

这就是我填充

的方式
            trip = Trip.objects.first()
            ct = ContentType.objects.get_for_model(trip)
            rating = ratings.objects.create(
                value = data['value'],comment = data['comment'],content_type = ct,content_object = trip,)

但是问题是当我查询数据以进行如下评级时:

trip = Trip.objects.first()

review = trip.rating.all()
for r in review:
    print(r.created_on)

以下错误通过我:

AttributeErrorTraceback (most recent call last)
<ipython-input-10-632676dd4f8f> in <module>
      3 review = trip.rating.all()
      4 for r in review:
----> 5     print(r.created_on)

AttributeError: 'ratings' object has no attribute 'created_on'

但是当我以同样的方式查询评论时:

trip = Trip.objects.first()

review = trip.rating.all()
for r in review:
    print(r.commnet)

它确实有效,它也返回值和created_by,就像r.value和r.created_by

但是问题是created_at怎么了?另外,当我添加新字段,例如test_test = models.CharFeled..blab bla字段时,它们未获取并触发相同的错误,例如此类属性不存在。我的问题是为什么评论和价值在回头,为什么其他不回头?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)