class CoreObject(Model):
name = CharField(max_length = 250, blank = True)
owner = ForeignKey(User)
date = DateTimeField(auto_now = True)
class Meta:
abstract = True
class ObjectManager(Manager):
def get_query_set(self):
return super(ObjectManager, self).get_query_set().filter(removed = False)
class RemovedObjectManager(Manager):
def get_query_set(self):
return super(RemovedObjectManager, self).get_query_set().filter(removed = True)
class ModerableObject(CoreObject):
moderators = ForeignKey(ModeratorsGroup, blank = True, null = True)
removed = BooleanField(default = False)
class Meta:
abstract = True
class Post(ModerableObject):
root = ForeignKey(Thread)
text = TextField()
objects = ObjectManager()
removed_objects = RemovedObjectManager()
def remove(request, type, id):
mo = Post.objects.get(id = int(id))
print mo.removed
mo.removed = True
mo.save()
return HttpResponse('ok')
def unremove(request, type, id):
mo = Post.removed_objects.get(id = int(id))
print mo.removed
mo.removed = False
mo.save()
return HttpResponse('ok')
Exception Type: IntegrityError at /unremove/post/1/
Exception Value: (1062, “Duplicate entry ‘1’ for key 1”)
В чем дело, мне не ясно =(
Кто нибудь, проясните пожалуйста, уже второй день с ошибкой бьюсь.
Раньше у меня было наследование не от абстрактных классов - думал проблема в этом, переписал - проблема осталась.
Джанго пытается почему то выполнить INSERT вместо UPDATE:
{'time': ‘0.000’, ‘sql’: u'INSERT INTO `comments_post` (`id`, `name`, `owner_id`, `date`, `moderators_id`, `removed`, `root_id`, `text`) VALUES (2, , 1, 2008-08-23 12:20:52, None, False, 1, 123)'}