Я использую эту маленькую жемчужину фрагмента кода Django для редактирования ManyToManyField в обоих направлениях:
class ManyToManyField_NoSyncdb(models.ManyToManyField):
def __init__(self, *args, **kwargs):
super(ManyToManyField_NoSyncdb, self).__init__(*args, **kwargs)
self.creates_table = False
class Job(models.Model):
persons = ManyToManyField_NoSyncdb( Person, blank=True, db_table='person_jobs' )
(подробности фрагмента здесь )
Itпозволяет мне выбрать всех людей в данной работе из формы вакансий и, наоборот, позволяет мне выбрать все вакансии для человека из формы людей и обновляет одну таблицу jobs_persons в обоих случаях.
При переходе с Django 1.0однако, до версии 1.2 syncdb теперь генерирует ошибку дублирующейся таблицы, потому что create_table больше не является поддерживаемым свойством в базовом классе.
Есть ли другой способ указать Django 1.2 не создавать таблицу для RelatedField?