-
Доброго времени суток!
Сильно не ругайте за код - он мне по наследству достался, вот и разгребаю.
Пользуюсь при разработке windows XP, Python 2.6, MySql 5.4.1, Django 1.1.1
Есть такие модели:
Когда сохраняю Commers - всё ОК, но когда сохраняю CommersLeft выводит ошибку:from django.contrib.contenttypes.models import ContentType
import multilingual
from django.contrib.contenttypes import generic
class BaseCommersAbstractModel(models.Model):
content_type = models.ForeignKey(ContentType,
verbose_name=u'Обьект рекламы',
related_name="content_type_set_for_%(class)s")
content_ob = models.ManyToManyField(ContentType,
verbose_name=u'Обьекты где будет реклама',
related_name="content_ob_set_for_%(class)s")
object_pk = models.TextField()
object_ob = models.TextField()
content_object = generic.GenericForeignKey(ct_field="content_type", fk_field="object_pk")
content_object = generic.GenericForeignKey(ct_field="content_ob", fk_field="object_ob")
class Meta:
abstract = True
def get_content_object_url(self):
return urlresolvers.reverse(args=(self.content_type_id, self.object_pk))
class Commers(BaseCommersAbstractModel):
user = models.ForeignKey(User, verbose_name='user', blank=True, null=True, related_name="%(class)s_comments")
submit_off = models.DateTimeField(default=None, verbose_name = u"Дата конца")
url_page = models.CharField( max_length = 70, verbose_name=u"URL page" )
url_ob = models.CharField( max_length = 70, verbose_name=u"URL page" )
article = models.ForeignKey('ArticleCommers', blank=True , verbose_name=u"Статья")
class CommersLeft(models.Model):
rtt = models.TextField()
comers = models.ManyToManyField('Commers')
Не подскажите в чём может быть ошибка?(1364, "Field 'content_type_id' doesn't have a default value")
Буду рад всем предложениям и ссылкам. Спасибо! -
Не подскажите в чём может быть ошибка?
Field 'content_type_id' doesn't have a default valueСмотрите в базу и думайте почему у вашей модели нет такого поля, а там есть
-
Может модели как-то менял? Попробуй reset сделать.
-
Спасибо большое!
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.


