Зависимость круговой модели Django
У меня есть круговая зависимость в моих моделях Django, так что модель A имеет ссылку на внешний ключ для B, а B имеет ссылку «многие-ко-многим» на A. Я консультировался с другими сообщениями SO и вместо этого использовал имена строковых моделей от фактических классов, но безрезультатно. Ниже приведены сокращенные версии двух моих классов:
Модель пользователя
import listings.models class User(models.Model): ... favorites = models.ManyToManyField('listings.models.Listing')
Листинг модели
import users.models class Listing(models.Model): ... owner = models.ForeignKey('users.models.User')
Каждый раз, когда я пытаюсь запустить syncdb , он выдает следующую ошибку:
Ошибка: одна или несколько моделей не подтвердили: users.user: «избранное» имеет отношение m2m к списку моделей. Моделей. Листинг, который либо не был установлен, либо является абстрактным. listings.listing: «владелец» имеет отношение к модели users.models.User, которая либо не была установлена, либо является абстрактной.
Как я могу разрешить это, не жертвуя установленными отношениями?
- Как бы вы смоделировали эту связь с базой данных?
- Как сопоставить один класс с несколькими таблицами с SQLAlchemy?
- Могу ли я использовать ту же базу данных MongoDB из Python и NodeJS
- Определите новую численную базу в python (новая кодировка)
- Python: недопустимый буквенный индекс для базы данных Int () 10
-
'listings.models.Listing'
должен быть'listings.Listing'
-
'users.models.User'
должен быть'users.User'
(или'auth.User'
если вы должны использоватьdjango.contrib.auth.models.User
)
Дополнительную информацию см. В официальной документации .
Вы можете просто удалить свои импорт, потому что вы не зависите от них по коду. Вы используете только строку с именем модели – это не зависимость. Также вы должны удалить models
– из своих строк, потому что вы можете ссылаться на свою модель как app_name.model_name
- Сервер разработки приложений Python + Taskqueue + Backend
- Создайте приблизительно однородную сетку из случайной выборки (python)
- Pymongo $ addToSet не работает
- Django / SQL: отслеживание того, кто читает что на форуме
- Монго связи / ссылки: наиболее эффективный способ? Примеры?
- MongoDB Оптимизация FindAndModify или Найти + Сортировать
- Это занимает много времени … как ускорить этот словарь? (Python)
- Вставка MongoDB повышает повторяемость ключа
- Что вызывает «неспособность подключиться к источнику данных» для pyodbc?
- Как сделать больше или меньше, чем использовать MongoDB?
- Использование других базовых систем в SymPy