python - Hvordan forbinder du den primære nøgle i to apps sammen

Indlæg af Hanne Mølgaard Plasc

Problem



Nå har jeg i virkeligheden to apps, der deler det samme navn-felt, og jeg ønskede at vide, hvordan man genererer den primære nøgle baseret på at kontrollere, om navnemodellen i en af ​​appen passer til den anden og tildeler den primære nøgle til den første app til den af den anden
Jeg forsøgte det med get\_pk fuction som vist nedenfor, men det fungerede ikke
Tak


Model


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

Bedste reference