Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django查询contentType数据以进行评级和审核_Django_Django Rest Framework_Django Orm_Django Contenttypes - Fatal编程技术网

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

Django查询contentType数据以进行评级和审核,django,django-rest-framework,django-orm,django-contenttypes,Django,Django Rest Framework,Django Orm,Django Contenttypes,我有一个用于旅行的模型和一个用于评级的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.TextFi

我有一个用于旅行的模型和一个用于评级的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'
它真的很有效,而且它还返回值并创建,就像这样
r.value
和r.created\u by


但问题是在创建的
有什么问题?另外,当我添加新字段时,比如test_test=models.CharFeled..blab bla字段,它们不会获取和触发相同的错误,比如这样的属性不存在。我的问题是,为什么评论和值会返回,为什么其他人不会返回?

您的模型中没有“已创建”字段。我刚刚创建了我的输入错误,我编辑了这个问题并重新评估了它
trip = Trip.objects.first()

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