簡體   English   中英

如何在通用 UpdateView 中為 django 表單小部件指定查詢集

[英]How do i specify a queryset to a django form widget in a generic UpdateView

我的模型:

class TarifGe(models.Model):
    mise_a_disposition = models.ForeignKey(MiseADisposition)
    tarif_son = models.ForeignKey("TarifGe", on_delete=models.CASCADE, null=True, default=None, blank=True)

我的看法 :

class TarifGeUpdate(LoginRequiredMixin, UpdateView):
    model = TarifGe
    template_name = "tarifs_form.html"
    fields = ['tarif_son',]

tarif_fils 是一個 TarifGe 相關對象(父 -> 子)

我想過濾 de tarif_son字段的小部件的初始值,只擁有具有相同mise_a_disposition字段的 TarifGe 對象,而不是所有 TarifGe 對象。

我在哪里以及如何為“tarif_son”字段的小部件指定查詢集?

在此先感謝您的幫助。

您可以覆蓋.get_form(…)方法 [Django-doc]

class TarifGeUpdate(LoginRequiredMixin, UpdateView):
    model = TarifGe
    template_name = "tarifs_form.html"
    fields = ['tarif_son',]

    def get_form(self, *args, **kwargs):
        form = super().get_form(*args, **kwargs)
        form.fields['tarif_son'].queryset = TarifGe.objects.filter(
            mise_a_disposition=self.object.mise_a_disposition
        )
        return form

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM