gam*_*mer 2 python django admin
我有一个带有字段的模型:
class MyModel(models.Model):
name = models.CharField(max_length=50)
created_by = models.ForeignKeyField(User)
Run Code Online (Sandbox Code Playgroud)
在我的管理员中:
class MyModelAdmin(admin.ModelAdmin):
list_display= ("name",)
fields = ("name",)
Run Code Online (Sandbox Code Playgroud)
在created_by添加MyModel时,我不想在管理员中使用.我想将它设置为当前用户created_by = request.user
我怎样才能做到这一点?
谢谢
您已设置fields为created_by不会在Django管理员中以表单形式出现.
现在,您需要覆盖save_model并在保存新对象之前设置用户.
class MyModelAdmin(admin.ModelAdmin):
fields = ("name",)
def save_model(self, request, obj, form, change):
if not change:
# the object is being created, so set the user
obj.created_by = request.user
obj.save()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1663 次 |
| 最近记录: |