Trochę zwariowałem, ponieważ jestem pewien, że to bardzo proste pytanie. Mam dwa modele w 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)
To jest baza danych piłkarskich i kiedy jestZagraj tam, gdzie jest kolejna tabela, w której przechowywane są dodatkowe dane na temat dodatkowego punktu: FGXP. Tak więc w Play pid jest primary_key. W FGXP istnieje link pomiędzy pid i pid w grze. W moim modelu Django powinienem je połączyć? Będę musiał dołączyć do danych, gdy wykonuję zapytanie.
Dzięki - przepraszam, jeśli duplikat.
Odpowiedzi:
2 dla odpowiedzi № 1Możesz zrobić klucz obcy z FGXP
do Play
tak jak
class FGXP(models.Model:
play = models.ForeignKey(Play, on_delete= models.CASCADE)
fgxp = models.CharField(...)
...
co by się stało FGXP
istnieje na Play
instancja jako atrybut fgxp_set
Myślę, że FK zadziałałoby tutaj, ponieważ istnieje potencjalnie więcej niż jeden dodatkowy punkt, zwłaszcza gdy zostanie wywołana kara.