Не удается выполнить ряд связанных с именем связанных вопросов. Конечно, при запуске фактического сервера dev (с ./manage.py runserver
) этого не происходит, я предполагаю, что, возможно, модели генерируются дважды? Я бег psycopg2 2.4.1, и вот мой тестовый выход:Сбой при выполнении Django при создании тестовой базы данных
(venv)[email protected]:boilerplate$ ./manage.py test
Creating test database for alias 'default'...
Error: One or more models did not validate:
l10n.address: Accessor for field 'user_shipping' clashes with related field 'User.shipping_address'. Add a related_name argument to the definition for 'user_shipping'.
l10n.address: Reverse query name for field 'user_shipping' clashes with related field 'User.shipping_address'. Add a related_name argument to the definition for 'user_shipping'.
l10n.address: Accessor for field 'user_billing' clashes with related field 'User.billing_address'. Add a related_name argument to the definition for 'user_billing'.
l10n.address: Reverse query name for field 'user_billing' clashes with related field 'User.billing_address'. Add a related_name argument to the definition for 'user_billing'.
custom_registration.profile: Accessor for field 'user' clashes with related field 'User.profile'. Add a related_name argument to the definition for 'user'.
custom_registration.profile: Reverse query name for field 'user' clashes with related field 'User.profile'. Add a related_name argument to the definition for 'user'.
addressmodel.address: Accessor for field 'user_shipping' clashes with related field 'User.shipping_address'. Add a related_name argument to the definition for 'user_shipping'.
addressmodel.address: Reverse query name for field 'user_shipping' clashes with related field 'User.shipping_address'. Add a related_name argument to the definition for 'user_shipping'.
addressmodel.address: Accessor for field 'user_billing' clashes with related field 'User.billing_address'. Add a related_name argument to the definition for 'user_billing'.
addressmodel.address: Reverse query name for field 'user_billing' clashes with related field 'User.billing_address'. Add a related_name argument to the definition for 'user_billing'.
profiles.profile: Accessor for field 'user' clashes with related field 'User.profile'. Add a related_name argument to the definition for 'user'.
profiles.profile: Reverse query name for field 'user' clashes with related field 'User.profile'. Add a related_name argument to the definition for 'user'.
У меня пока нет моих собственных тестов, поэтому я должен выяснить, какие тесты приложений выполняются, когда они не сработали? – Lacrymology
@Lacrymology уверен, вы могли бы: 1. найти, есть ли в вас какое-либо имя_пользователя user_shipping модель и переименуйте ее; 2. используйте pdb или сигнал для проверки модели с конфликтом, здесь «Пользователь», на ранней стадии теста перед проверкой, проверяет, какая модель определяет r elited_name 'user_shipping' на' User' – okm
hm .. это, похоже, проблема с django-shop. Он определяет модель адресата по умолчанию, но он рекомендует писать свои собственные. Затем он делает какую-то магию в своем файле моделей, чтобы либо ваша определенная модель, либо ее собственный, можно было получить с одного и того же имени. Если я удалю «магазин» с INSTALLED_APPS, тогда исчезнет много ошибок. – Lacrymology