Как у меня может быть два внешних ключа к той же модели в Django?

Когда вам нужно отредактировать исходный код JS, переключитесь на ветку development , отредактируйте и подтвердите. Затем переключитесь на ветку production и объедините в нее development . Скомпилируйте (минимизируйте) JS и передайте минимизированную версию. Переместите ветки в соответствующие репозитории.

git checkout development
vim code.js
git add code.js
git commit -m "Added new feature"

git checkout production
git merge development
js-minify code.js
git add code.js.minified
git commit -m "Minified version"

git push devserver development
git push prodserver production
42
задан Török Gábor 17 September 2010 в 18:43
поделиться

3 ответа

Django использует некоторое волшебство Python определить отношения между моделями, часть из которого включает использование названия моделей в отношениях (это - то, куда 'тест' в 'тесте __ набор' прибывает из.) то, Что происходит, я предположил бы, - то, что это пытается поместить "тест __ набор" в модели Example дважды, однажды для каждого внешнего ключа Вы определили.

сообщение об ошибке предлагает, чтобы что-то попробовало: определите related_name аргумент (переопределяющий одного из тех 'test_set), что он может использовать вместо того, чтобы автоматически генерировать два сталкивающихся имени.

[еще 115] информация здесь : страница была удалена

страница Current, касающаяся отношений модели: https://docs.djangoproject.com/en/2.0/ref/models/fields/#module-django.db.models.fields.related

22
ответ дан markwalker_ 26 November 2019 в 23:18
поделиться

Попытайтесь использовать related_name :

class Test(models.model):
    example1 = models.ForeignKey('Example', related_name='example1')
    example2 = models.ForeignKey('Example', related_name='example2')
111
ответ дан strager 26 November 2019 в 23:18
поделиться

Просто сделайте то, что сообщение об ошибке говорит Вам делать, и если Вы не уверены, что это означает, консультируйтесь с документацией для related_name.

7
ответ дан James Bennett 26 November 2019 в 23:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: