Django - wyświetlanie relacji w adminie

0

Posiadam taki oto kod

class Questions(models.Model):
    form = models.ForeignKey(Form)
    content = models.CharField(max_length=250)
    open = models.BooleanField()

    def __str__(self):
        return self.content

class Answer(models.Model):
    content = models.CharField(max_length=250)
    questions = models.ForeignKey(Questions)
    user = models.OneToOneField(CustomUser)

    def __str__(self):
        return Questions.content

Chciałbym aby Answer wyświetlane w admini było jako Questions.name danej relacji.

Niestety return Questions.content jest błędnym sposobem. Mógłby mi ktoś podpowiedzieć jak to powinno wyglądać?

0

Musisz pobrać obiekt modelu za pomocą query. Nigdy nie robiłem w Django, więc nie mam pewności czy to działa.

Questions.objects.get(pk=questions)

Btw nazwanie ForeignKey do obiektu Questions jako questions jest chyba takim sobie pomysłem.

1

Wystarczy self.questions.content

0

Dokładnie, uzupełniając wypowiedź koteła, zmienne bez self., znajdujące się na górze klasy są wspólne dla wszystkich obiektów tej klasy i są po to, żeby ORM Djangowy wiedział jak tworzyć tabele etc. Żeby odwołać się więc do realnych danych, reprezentowanych przez obiekt tej klasy, musimy oczywiście użyć obiektu tej klasy - czyli self.

1 użytkowników online, w tym zalogowanych: 0, gości: 1