У меня есть модели, которые выглядят так:
class Article(models.Model):
# Créé une entrée titre dans la table Article de max 100 caractères
titre = models.CharField(max_length=100)
# créé une entrée auteur dans la table Article de 50 caractères max
auteur = models.CharField(max_length=50)
# créé une entrée contenu dans la table Article sans limite de caractères
contenu = models.TextField(null=True)
# céé une entrée date dans la database en date type field
date = models.DateField(default=timezone.now, verbose_name="Date de parution")
# créé une entrée image dans la table Article à l'aide du path stocké dans un varchar
# L'image est stocké dans la string définie par upload_to.
image = models.ImageField(upload_to='image/article', null=True)
# céé une entrée preview_text dans la database
preview_text = models.CharField(max_length=500, null=True)
# créé une entrée slug dans la table Article. Le slug sert à définir l'url de l'article
# Il est rempli automatiquement en fonction du titre grâce au prepopulated-field dans admin.py
slug = models.SlugField(max_length=100)
# Ajout de la clef étrangère catégorie à la table Article. models.PROTECT empèche la supression de la catégorie
# si utilisé par un article
categorie = models.ForeignKey('Categorie', on_delete=models.PROTECT)
# Ajout de la clef étrangère Flag à la table Article. models.PROTECT empèche la suppression du Flag si
# utilisé par un article.
flag = models.ForeignKey('Flag', on_delete=models.PROTECT)
# compteur de vues
nb_vue = models.IntegerField(default=0, verbose_name="Nombre de Vues")
# Permet de personnaliser le comportement du modèle -- Classe Optionnelle
class Meta:
# donne un nom au singulier à l'objet
verbose_name = 'article'
# défini le tri par défaut des objets lors de l'obtention de la liste
ordering = ['date']
def __str__(self):
"""
Cette méthode permet de reconnaitre facilement les différents objets
:return: self.titre
"""
return self.titre
class Categorie(models.Model):
nom = models.CharField(max_length=30)
# créé une entrée nom dans la table Categorie de 30 caractères maximum
def __str__(self):
return self.nom
Я хотел бы знать, возможно ли создать разрешение на основе объекта категории для группы, что позволило бы им написать статьютолько в этой категории. Я новичок в Django и еще не знаю все системы фильтров ..
Мне нравится: где категория = 'новости'
спасибо большое!
Редактировать:Я пытался с пользовательской формой, но я не понимаю, как я могу сказать: if request.user.is_staff
дать доступ к 'category1' только на некоторых опциях ....