У меня есть эта модель «jobs» (показано ниже).проблема модели django с отношениями M2M и внешнего ключа
- Существует взаимосвязь между хостами и местоположениями между M2M (в местоположении назначено несколько хостов).
- У меня также есть класс часового пояса с ключом иностранных отношений, образованном между местоположением и часовой пояс (A место присваивается часовой пояс)
Проблема у меня в том, что я не могу не-закомментировать коло " в классе Host из-за ссылки внешнего ключа на «Местоположение». Класс Location определяется после класса Host. Но я не могу переместить определение местоположения выше класса Host из-за ссылки M2M для «хостов» в классе Location.
Мне что-то не хватает концептуально? Любая помощь будет принята с благодарностью!
Вот соответствующая часть моей модели:
class Timezone(models.Model):
name = models.CharField(max_length=32, unique=True)
def __unicode__(self):
return "%s"%(self.name)
class Host(models.Model):
name = models.CharField(max_length=32, unique=True)
# colo = models.ForeignKey(Location)
def __unicode__(self):
return "%s"%(self.name)
class Location(models.Model):
name = models.CharField(max_length=3, unique=True)
hosts = models.ManyToManyField(Host, blank=True) #not required
tz = models.ForeignKey(Timezone)
def __unicode__(self):
return "%s"%(self.name)
Ах, ха! Это именно то, что мне нужно. Я не должен беспокоиться об определении отсталых отношений в модели. Я должен использовать наборы запросов и фильтры, чтобы изменить отношения в моем представлении, когда это необходимо. Благодаря!!! – nnachefski