我正在Django运行一个摄影应用程序。我有一个Photograph
模型和PhotoSet
模型,与ManyToManyField
的关系Photograph
。我想创建一个管理操作,我可以在管理列表视图中选择多个Photograph
对象,选择"从所选照片创建照片集"操作,并使用预先填充了我在上一页中选择的照片的admin:photography_photoset_add
字段进入photos
视图。然后,我可以根据需要输入标题,slug和描述。这种流程可能吗?经过相当多的搜索之后,我还没能找到它,而我目前所知道的唯一途径就是使用自定义添加视图并在会话状态下存储我的选择来处理所有这些。看起来很乱。
答案 0 :(得分:0)
这个答案:
https://stackoverflow.com/a/4924985/202168
from django.core.urlresolvers import reverse
def create_photoset_from_photos(modeladmin, request, queryset):
ids = ','.join([str(photo_id) for photo_id in queryset.values_list('id', flat=True)])
add_photoset_url = '{url}?photos={ids}'.format(url=reverse('admin:photography_photoset_add'), ids=ids)
return HttpResponseRedirect(add_photoset_url)