使用通用关系“无法解析关键字”错误

时间:2013-09-20 23:59:24

标签: python django

我正在通过一个使用2个对象的简单应用程序学习Django - 用户Profile对象和Groups对象。用户可以是多个组的一部分,一个组可以有多个用户。 我定义了这两个对象之间的通用关系。

models.py

class Profile(models.Model):
    groups = generic.GenericRelation('Groups', null=True, blank=True, 
                     content_type_field='content_type', 
                     object_id_field='object_id', 
                     related_name='profile_groups')

    def deleteGroup(self, group_name):
        group_id = Groups.find_or_create(self, group_name, find_only=True)
        self.assertIsNotNone(group_id)
        group_id.delete()


class Groups(models.Model):
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')
    members = generic.GenericRelation(Profile, null=True, blank=True, 
                      related_name='group_members')

删除群组时出错。我理解错误与将args传递给了GenericForeignKey或GenericRelation的filter()有关,但早期的线程在get_or_create()&的上下文中提到了这一点。不是用delete()

非常感谢任何帮助。

错误:

"models.py", in deleteGroup
    group_id.delete()
...
File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 155, in   filter
    return self.get_query_set().filter(*args, **kwargs)
...
FieldError: Cannot resolve keyword u'object_id' into field. Choices are: *<Profile objects global variable>*

0 个答案:

没有答案