0

Ich erstelle eine Django-Anwendung für mehrere Universitäten. Hier sind die Modellklassen, die ich verwendet habe.nur einige Objekte in Änderungsliste eines Modells in Django anzeigen

class Institute(models.Model): 
    name=models.CharField(max_length=200) 
    def __str__(self): 
     return self.name 

class Applicant(models.Model): 
    name = models.CharField(max_length=200) 
    institute=models.ForeignKey(Institute,on_delete=models.CASCADE) 
    def __str__(self): 
     return self.name 

Ich habe für jedes Institut einen Mitarbeiter angelegt, aber die Änderungsliste der Bewerber zeigt auch die Bewerber, die nicht vom selben Institut sind. Ich möchte die Änderungsliste der Admin-Seite so ändern, dass nur die Bewerber aufgelistet werden, die zu diesem bestimmten Institut gehören. Momentan sieht meine Bewerber-Seitenänderungsliste für jedes Institut so aus, von dem ich einige Bewerber entfernen muss.

Aktuelle Änderungsliste

Current change list

Antwort

0

Es klingt wie Sie Multi-Tenancy unterstützen müssen. Mit anderen Worten, wird einig „admin“ Typ Benutzer „gehört“ ein Institut, und als solche, wenn sie sich anmelden, sollten sie nur Bewerber aus ihrem Institut sehen.

Leider kann dies ein schwer zu lösendes Problem sein. Wenn Sie Postgres als Datenbank verwenden, ist Django Tenant Schemas ziemlich cool. Jedoch, zumindest in meiner Erfahrung damit, konnte ich keinen Benutzer haben, der ALLE Objekte sehen konnte (nicht sicher, ob Sie das brauchen oder nicht).

Wenn das nicht Ihren Anforderungen entspricht, gibt es natürlich auch andere Pakete, die das Problem auf verschiedene Weise zu lösen versuchen, sollte eine Google-Suche diese bringen.

Wenn keine dieser Pakete Ihre Bedürfnisse könnten Sie möglicherweise Ihre eigenen Multi-Tenancy rollen die Django Sites framework und individuelle Benutzer verwenden.

Verwandte Themen