#python_3x #django
Сейчас я в своем проекте вручную добавляю/удаляю право на просмотр записей у пользователей. Есть способ сделать так, чтобы при добавлении права пользователю указать время действия? То есть, выдать право на время, по истечению которого django сам это право изымет у пользователя. models.py: class PremiumTime(models.Model): user_id = models.ForeignKey(User, on_delete=SET_NULL, null=True, blank=True, verbose_name='Пользователь') permission_id = models.ForeignKey(Permission, on_delete=SET_NULL, null=True, blank=True, verbose_name='Право') start_datetime = models.DateTimeField(verbose_name='Premium куплен') end_datetime = models.DateTimeField(verbose_name='Premium истекает') admin.py: class PremiumUsers(admin.ModelAdmin): list_display = ('user_id', 'permission_id', 'start_datetime', 'end_datetime') list_display_links = ('user_id',) Вид в админке: При создании записи в админке - право пользователю не выдается. Как сделать так, чтобы оно присваивалось пользователю?
Ответы
Ответ 1
Можно создать M2M таблицу class PermissionTime(models.Model): user_id = models.ForeginKey(User, on_delete=SET_NULL, null=True, blank=True) permission_id = models.ForeginKey(Permission, on_delete=SET_NULL, null=True, blank=True) start_datetime = models.DateTime() end_datetime = models.DateTime()
Комментариев нет:
Отправить комментарий