我有一堂课,例如:
class Business(models.Model):
users = models.ManyToManyField(User)
business_name = models.CharField(max_length=100)
因此变量users
与Use
r相关联。我们假设在User
中创建了5个用户:Admin
,Test
,Test1
,Test2
和Test3
。所以只有Admin
是所有用户的超级用户,让我们说我使用Test2
登录。因此,当我点击保存时,manytomanyfield将自动保存为Test2
,因此它会自动保存在request.user
的任何人身上。
而且,有没有办法自动保存manytomanyfield中的所有用户?感谢。
答案 0 :(得分:1)
您不需要为此使用JavaScript,如果要自动更新,您也不需要显示users
的表单字段。您可以改为创建ModelAdmin
子类并覆盖save_model
method。例如:
在您应用的admin.py
from django.contrib import admin
from models import Business
class BusinessAdmin(admin.ModelAdmin):
exclude = ["users"]
def save_model(self, request, obj, form, change):
if not obj.id: obj.save()
obj.users.add(request.user)
obj.save()
admin.site.register(Business, BusinessAdmin)