Ошибка модели ManyToMany

У меня есть класс предложения круиза, связанный с моделью SpecialInterest. Теперь я понимаю, что в моей модели LandOffer (где-то еще) происходит то же самое. Поэтому я хочу избавиться от круиза. SpecialInterest и заменить его на land.SpecialInterest.

Это моя ошибка: Ошибка: одна или несколько моделей не прошли проверку: cruise.cruiseoffer: 'special_interest' имеет отношение m2m к модели land.models.SpecialInterest, которая либо не установлена, либо является абстрактной.

Я отбросил таблицу CruiseOffer, но когда я синхронизирую db, я терплю неудачу.

Помощь?

class CruiseOffer(models.Model):
  id = models.AutoField(primary_key=True)
  name = models.CharField(max_length=300) # Field name made lowercase.
  name_enca = models.CharField(max_length=300, blank=True) # Field name made lowercase.
  name_frca = models.CharField(max_length=300, blank=True) # Field name made lowercase.
  supplier = models.ForeignKey('CruiseSupplier')
  #special_interest = models.ManyToManyField('SpecialInterest')
  special_interest = models.ManyToManyField('land.models.SpecialInterest')

  def __unicode__(self):
    return "%6d %s" % (self.id, self.name,)

person joel goldstick    schedule 08.03.2012    source источник


Ответы (1)


Правильный синтаксис:

from land.models import SpecialInterest
...
class Crui...
    ...
    special_interest = models.ManyToManyField(SpecialInterest)
person dani herrera    schedule 08.03.2012
comment
land указано в настройках установленных приложений? - person dani herrera; 09.03.2012
comment
Прокрутившись в течение дня, я снова посмотрел на ответ @danihp и понял, что у меня есть цитаты вокруг моей таблицы SpecialInterest. Убрал их, и теперь я занимаюсь делом. - person joel goldstick; 09.03.2012