我正在通过一个使用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>*