【发布时间】:2018-11-28 19:19:10
【问题描述】:
每次管理员在表格视频中添加新项目时,我都需要执行命令。示例 admin.py
class VideosAdmin(admin.ModelAdmin):
list_display = ('__str__', 'author', 'created_at', 'title_gen', 'deleted')
list_filter = ['created_at', 'author', 'deleted']
search_fields = ['Title', 'Description', 'Tags', 'Playlist']
exclude = ['title_gen', 'Playlist', 'Tags', 'deleted', 'author', 'Category', 'Language']
class Meta:
model = Videos
def get_queryset(self, request):
return self.model.all_objects.all()
def save_model(self, request, obj, form, change):
if getattr(obj, 'author', None) is None:
obj.author = request.user
obj.save()
admin.site.register(Videos, VideosAdmin)
每次当管理员添加新的视频项目时,我都需要执行函数proccessing(video_id),我该怎么做?
【问题讨论】:
-
这取决于处理视频所需的时间。您可能需要异步执行,这将是一个不同的问题。但总的来说,@ruddra 是对的。
-
@AliAsgari 是的,也许我需要异步,因为我想处理视频
-
您可以编写异步任务,但该任务必须从 save_model 方法启动。
-
@ruddra 我尝试这样做,但我返回错误,stackoverflow.com/questions/53527918/…
-
嗯,很高兴您针对您遇到的问题发布了另一个问题。它实际上不在当前问题的范围内。我希望我的回答能帮助您从 Video Object 中获得
video_id。如果是这样,请考虑接受这个答案。谢谢!!
标签: django