Som trochu blázon, pretože som si istý, že ide o super jednoduchú otázku. Mám dva modely v django:
class Play(models.Model):
gid = models.IntegerField()
pid = models.IntegerField(primary_key=True)
off = models.CharField(max_length=5)
deff = models.CharField(max_length=5)
type = models.CharField(max_length=10)
class FGXP(models.Model):
pid = models.IntegerField()
fgxp = models.CharField(max_length=5)
fkicker = models.CharField(max_length=10)
Jedná sa o futbalovú databázu a keď existujeHrať, ktoré zaznamenáva ďalšiu tabuľku, kde sa uchovávajú dodatočné údaje o extra bode: FGXP. Takže vo funkcii Play pid je primárna klávesa. V FGXP existuje prepojenie medzi pidom a pidom v hre. V mojom modeli Django by som ich mal prepojiť? Po skončení dotazu budem potrebovať pripojiť sa k údajom.
Vďaka - ospravedlnenie, ak duplikát.
odpovede:
2 pre odpoveď č. 1Môžete urobiť zahraničný kľúč z FGXP
na Play
ako
class FGXP(models.Model:
play = models.ForeignKey(Play, on_delete= models.CASCADE)
fgxp = models.CharField(...)
...
čo by bolo FGXP
existujú na Play
ako atribút fgxp_set
Myslím, že FK by tu pracoval, pretože tu existuje potenciálne viac ako jedno extra bodové hry, a to najmä vtedy, keď sa nazýva trest.