我是python和Django的新手,所以我希望我能在这里得到一些帮助。 我有一个“应用程序”,我有一些模型,如“Raum”,“Platz”和“Buchung”。英文(房间,位置和预订)。在Web应用程序中,用户可以预订房间中的位置。 这是我的3个模型。
间:
class Raum(models.Model):
raumID = models.CharField(max_length=1, primary_key=True)
name = models.CharField(max_length=250, default='')
位置:
class Platz(models.Model):
platzID = models.CharField(max_length=3, primary_key=True)
raum = models.ForeignKey(Raum, on_delete=models.CASCADE, default='')
售票:
class Buchung(models.Model):
cearted_on = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(Mitarbeiter, on_delete=models.CASCADE, default='')
raum = models.ForeignKey(Raum, on_delete=models.CASCADE, default='')
platz = models.ForeignKey(Platz, on_delete=models.CASCADE, default='')
我希望能够在预订房间时选择房间和位置。但它应该只显示我选择的房间的位置。这就是我的问题,我真的不知道该怎么做。我查看了Django文档并找到了“to_field”,但我不认为这是正确的,也不起作用。
所以你可以看到我有一个名为“seestern”的房间(raum)和一个位置(Platz),它显示了4种选择。但Room Seestern只有“A1”和“A2”。我想只显示属于房间的那些。 我怎么能这样做?
希望我得到一些帮助。 感谢。
答案 0 :(得分:1)
使用https://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#filtering-results-based-on-the-value-of-other-fields-in-the-form。它似乎做了你想要实现的目标。它需要您手动编写一些逻辑,但在前端仍然做得很好,因此您不必处理管理面板的JavaScript和HTML。为您建模表单并将其添加到管理类,如form=MyForm
。尝试从头开始遵循文档,然后应用我提供的链接中描述的技术,因为如果你直接跳到它,你将有点不知所措。