Sto cercando di capire come disporre due dei miei modelli Django in modo che quando un nuovo modello viene salvato nel database, la sua chiave primaria viene incrementata in modo tale che sia il successivo valore più alto per tutti i record con la stessa chiave esterna.Modello Django Incremento automatico Chiave primaria basata su chiave esterna
È molto simile a this question asked, ma mi chiedo come lo faresti in Django. Ecco un estratto dalla questione che dimostra una situazione simile:
id | job_id | title
0 1 hi
1 1 hello
2 1 goodbye
0 2 hi
1 2 hello
So you can't have multiple primary keys in a Django model e si può usare unique_together, ma la documentazione dice che usa l'equivalente UNIQUE
economico nei CREATE
dichiarazioni. Sarebbe
class ModelA(models.Model):
key = models.PositiveIntegerField(primary_key = True)
fk = models.ForeignKey(ModelB)
def Meta(self):
unique_together = ("key", "fk")
nei modelli lavorare con this answer per realizzare quello che sto cercando? Il rapporto tra i modelli è uno ModelA
con molti ModelB
s, ma ogni ModelB
dispone di un solo ModelA
.
Questo primo paragrafo non è stato analizzato. –
@ IgnacioVazquez-Abrams, ho riformulato il primo paragrafo e aggiunto un esempio. Ha più senso ora? – Dirk