2016-05-06 7 views
0

Ich habe die folgenden Modelle.Django Permissions App

class Ads(models.Model): 
    title = models.CharField(max_length=255) 
    description = models.TextField(blank=True, null=True) 
    start_price = models.IntegerField(db_index=True, blank=True, null=True) 
    seller = models.ForeignKey(User) 

class AdImages(models.Model): 
    """Contain ad images uploaded by the user.""" 

    image = models.FileField(upload_to='ad/', blank=True, null=True) # can be images/Videos. 
    ad = models.ForeignKey(Ads) 

Ich bin in der Lage Ad und AdImages Objekte zu erstellen, aber ich möchte, dass nur der Benutzer, der diese Objekte erstellt wurden, sollten diese Objekte bearbeiten/löschen können. Wie kann ich es tun?

Ich habe über Django Berechtigungen gelesen, aber nicht in der Lage, das gleiche zu implementieren. Nicht sicher, wie diese Berechtigungen funktionieren, Berechtigungen einbinden auth_permissions?

Wie berechne ich Berechtigungen für Objekte?

Antwort

-1

Warum nicht einfach ein Modellfeld mit dem Benutzernamen hinzufügen, der das Objekt erstellt hat. Dann referenzieren Sie das Feld, um festzustellen, ob der aktuelle Benutzer == Ersteller ist, und zeigen Sie Optionen an, die bearbeitet oder gelöscht werden können. Oder wenn der Verkäufer, den Sie haben, der Benutzer ist, der dann dieses Feld erstellt hat.