如何将两个应用程序的主键链接在一起

2024-04-20 06:26:43 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我有两个应用程序共享相同的名称字段,我想知道如何在检查一个应用程序的名称模型是否与另一个匹配的基础上生成主键,并将第一个应用程序的主键分配给第二个应用程序的主键 我尝试了下面所示的get\u pk功能,但是没有成功 谢谢

型号

class InfoPedia(models.Model):
    #User model due to association
    user       =models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
    Name        =models.ForeignKey(MainPage,on_delete=models.CASCADE)
    #Information unique to this app
    Location      =models.CharField(max_length= 50,null=True,blank=True)
    Information        =models.TextField(null=True,blank=True)
    TrackListing=models.TextField(null=True,blank=True, help_text="Seperate by Coma")
    Published=models.BooleanField(default=True)
    Timestamp=models.DateTimeField(auto_now=True)
    Updated=models.DateTimeField(auto_now=True)



    def _get_pk(self, meta=None):
        Tempn=MainPage.objects.get(Name=self.Name)
        if Tempn.Name==self.Name:
            self.pk=Tempn.pk
        return self.pk
#     

#     def get_absolute_url(self):
#         return reverse("InfoPedia:details", kwargs={"pk":self.pk})
#     def __str__(self):
#         return self.Name

        # You use this to make each item a hyperlink based on the detail view and put it the detailview template
    def get_absolute_url(self):
#         return f"/Blog/{self.slug}"
        return reverse('InfoPedia:DetailView', kwargs={"pk":self.pk})

    class Meta:
        ordering=["-Updated","-Timestamp"] #orranges in order of updated

    def get_tracklist(self):
        return self.TrackListing.split(",")

def Information_create_pre_save( instance, sender, **kwargs):
        instance.Information=retriever(instance.Name)
#         instance.TrackListing=WikiPage.categories

Tags: toinstancenameselftrue应用程序getreturn