Próbuję dowiedzieć się, jak rozmieścić dwa z moich modeli Django tak, że gdy nowy model zostanie zapisany do bazy danych, jego klucz podstawowy zostanie zwiększony tak, że jest następna najwyższa wartość dla wszystkich rekordów z tym samym kluczem obcym.Django Model Auto Increment Klucz podstawowy oparty na kluczu obcym
To bardzo przypomina this question asked, ale zastanawiam się, jak to zrobić w Django. Oto fragment z pytaniem, który wykazuje podobną sytuację:
id | job_id | title
0 1 hi
1 1 hello
2 1 goodbye
0 2 hi
1 2 hello
wiem you can't have multiple primary keys in a Django model i można korzystać unique_together, ale dokumentacja mówi, że używa się równoważnego UNIQUE
oświadczenie w sprawozdaniu CREATE
. Czy
class ModelA(models.Model):
key = models.PositiveIntegerField(primary_key = True)
fk = models.ForeignKey(ModelB)
def Meta(self):
unique_together = ("key", "fk")
w modelach pracy z this answer do osiągnięcia co szukam? Relacja między modelami jest jednym ModelA
mającym wiele ModelB
s, ale każdy ModelB
ma tylko jeden ModelA
.
Ten akapit pierwszy nie został przeanalizowany. –
@ Ignacio Vaazquez-Abrams, Przeformułowałem akapit pierwszy i dodano przykład. Czy teraz ma to więcej sensu? – Dirk