/ / Łączenie dwóch pól django w dwóch różnych modelach - python, django

Łączenie dwóch pól django w dwóch różnych modelach - python, django

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 № 1

Moż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.