Как я могу создать модель с составным внешним ключом? - PullRequest
0 голосов
/ 24 октября 2011

кто-нибудь знает, как создать модель с составным внешним ключом для другой модели.

например,

UserInfo: userId , пароль ,key, ...

GeoInfo: id, userId , пароль , storeName, ...

В приведенных выше примерах моделей.Хотите связать GeoInfo с UserInfo, используя два поля ( userId, пароль ).

примечание: я знаю, как связать две модели с одним внешним ключом.

Любое руководствоприветствуется.

ОБНОВЛЕНИЯ1 Я нашел этот пост -> Django или аналогичный для составных первичных ключей

К сожалению, принятый ответ там не применим вВ моем случае из-за требования (спецификации клиента) в GeoInfo существуют два поля ( UserInfo.userId, UserInfo.password ).

UPDATES2 Django не поддерживает составные внешние ключи.какие-нибудь обходные пути, ребята?

1 Ответ

0 голосов
/ 25 октября 2011

Что мешает вам иметь два поля ForeignKey, ссылающихся на Модель A?

Например,

class Author(models.Model):
    name = models.CharField(max_length=50)

class Book(models.Model):
    title = models.CharField(max_length=50)
    author = models.ForeignKey(Author, related_name="primary_authors")
    co_author = models.ForeignKey(Author, related_name ="co_authors")

, убедитесь, что вы используете 'related_name' для предотвращения конфликтов.Если это не отвечает на ваш вопрос, то пример того, что вы пытаетесь сделать, поможет ...

...