Django:是否可以通过模型的PK将模型的FK链接到一对多关系?

问题描述 投票:1回答:1

我将有两个具有多对多关系的模型(项目和用户)。>

Django将创建具有ID和2 FK(项目和用户)的隐式直通模型。

是否可以将第三个模型应用程序链接到贯通模型?

我可以在应用程序中声明链接到直通型号ID的FK吗?

编辑:

forms.py

NAME = Thesaurus.options_list(2,'fr')
ACCESS = Thesaurus.options_list(3,'fr') 
ApplicationFormset = inlineformset_factory(
    Utilisateur, Application, 
    fields=('app_app_nom','app_dro'),
    widgets={
        'app_app_nom': forms.Select(choices=NAME), # name in Application model
        'app_dro': forms.Select(choices=ACCESS) # access_right in Application model
    },
    extra=3,
    can_delete=True,
)

views.py

class UtilisateurCreateView(CreateView):
    model = Utilisateur
    fields = ['uti_nom','uti_pre','uti_mai','uti_sit','uti_pro']

    def get_context_data(self, **kwargs):
        data = super().get_context_data(**kwargs)
        if self.request.POST:
            data["utilisateur"] = self.request.user.username # nom de l'utilisateur connecté
            data["projet"] = get_object_or_404(Projet, pro_ide = self.request.GET['projet'])
            data["application"] = ApplicationFormset(self.request.POST)
            data["user_profil"] = self.request.session.get('user_profil')
        else:
            data["application"] = ApplicationFormset()
        return data

    def form_valid(self, form):
        context = self.get_context_data()
        application = context["application"]
        user_profil = context["user_profil"]
        self.object = form.save(commit=False)
        self.object.pro_ide = context["projet"]
        self.object.uti_log = context["utilisateur"]
        self.object.uti_val = 0 
        self.object.uti_val_dat = timezone.now()
        self.object.save()

        if application.is_valid():
            application.instance = self.object
            application.save()

    def get_success_url(self):
        return reverse("project:index")

enter image description hereenter image description hereenter image description hereenter image description here

我将有2个模型(项目模型和用户模型)与多对多关系相关联。 Django将使用ID和2 FK(项目和用户)创建隐式直通模型。是否可以有第三个...

django
1个回答
0
投票

我可以在应用程序中声明链接到直通型号ID的FK吗?

© www.soinside.com 2019 - 2024. All rights reserved.