0

当我做这样的事情时http://example.com/api/v1/nisit/?format=json。我将收到此错误“模型''有一个空属性'页面'并且不允许空值。”

我想使用美味的反向关系。逆向“页面”模型形成“nisit”模型。我想要的结果是调用 127.0.0.1:8000/api/v1/nisit/?format=json&friend_ followingPage _id=1

问题的关键是“如何在Nisit模型中设置followingPage属性与Page模型中的followingNisit属性相反

这是我的模型

 class Nisit(models.Model):
       friends =  models.ManyToManyField('self',null=True,blank=True)


 class Page(models.Model):
       followingNisit = models.ManyToManyField(Nisit,blank=True)

这是我的资源

class NisitResource(ModelResource):
     friend = fields.ManyToManyField('self','friend',null=True)
     followingPage = fields.ToManyField('chula.api.resourse.PageResource','followingPage')
     class Meta:
        queryset = Nisit.objects.all()
        resource_name = 'nisit'
        filtering = {
            'friend' : ALL_WITH_RELATIONS,
            'id' : ALL,
        }

在上面的代码中。我尝试根据此链接http://django-tastypie.readthedocs.org/en/latest/resources.html编写代码 >>>> page=................. #reverse-relationships 但无济于事

class PageResource(ModelResource):
    followingNisit = fields.ManyToManyField(NisitResource, 'followingNisit',null=True)

    class Meta:
        queryset = Page.objects.all()
        resource_name = 'page'
        authorization= Authorization()
        filtering = {
            'followingNisit': ALL_WITH_RELATIONS,
            'p_name': ALL,
        }
4

1 回答 1

0

尝试添加:

class Page(models.Model):
     followingNisit = models.ManyToManyField(Nisit,blank=True, related_name="followingPage")

清除您的缓存,并可能删除所有null=True可能抑制该错误消息的内容。

于 2013-03-05T04:35:08.153 回答