python - Django:如何在管理面板中检测对象请求?
问题描述
更详细地说,我在名为 Images 的管理面板中获得了对象列表
class Image(models.Model):
image = models.ImageField(upload_to='products/%Y/%m/%d/',
verbose_name=_('Image'), default='default.png')
album = models.ForeignKey('Album', related_name='images')
category = TreeForeignKey(Category, null=True)
likes = GenericRelation('Like', related_name='image_likes', null=True)
is_main = models.BooleanField(default=False)
is_slider = models.BooleanField(default=False)
seen = models.IntegerField(default=0)
seen_by_admin = models.BooleanField(default=False)
class ImageAdmin(admin.ModelAdmin):
list_display = ['album', 'get_owner', 'is_main', 'is_slider','total_likes', 'seen', 'image_tag', ]
list_filter = ['album', 'album__owner', 'is_main', 'is_slider', 'album__created_at']
search_fields = ['album__name']
list_per_page = 15
每当管理员或任何其他超级用户输入任何字段时Images.object
,seen_by_admin
都应更改为seen_by_admin = True
解决方案
您可以覆盖 save_model 方法:
class ImageAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.seen_by_admin=True
super().save_model(request, obj, form, change)
更多信息: https ://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model
推荐阅读
- scala - 鉴于linesWithFileNames:RDD [(Path,Text)],如何转置许多文件,其中Text包含矩阵?
- reactjs - 在 React Js 中登录到终端控制台而不是浏览器控制台
- reactjs - 如何在 React 应用程序上代理 Rsocket 请求
- c# - 为什么 DotNetBrowser 未设置某些站点授予的权限?
- python - 无法按顺序追加
- python - 目标检测非常低的精度
- algorithm - 猛禽中的偶数或奇数
- spring-statemachine - Spring状态机中的全局转换/动作
- git - 是否可以强制 `git checkout` 将 ref 视为提交哈希?
- database - 如何从 MongoDB 文档中删除具有指定值的字段?