我最初的问题是我试图将当前用户附加到新条目上,所以我覆盖了save_model
下的admin.ModelAdmin
方法
def save_model(self, request, obj, form, change):
obj.submit_usr = request.user
super().save_model(request, obj, form, change)
当我尝试在数据库中创建新对象或新条目时,此方法效果很好,但是当我尝试编辑现有对象或新条目时,它仍会创建一个新条目
我的模型看起来像(为了避免在这里弄乱,我删除了所有设置)
class AppUser(models.Model):
app_name = model.CharField()
submit_usr = models.ForeignKey()
submit_date = model.DateTimeField()
我知道change
arg指示现有条目是否存在更改,但是我仍然没有办法告诉Django我只想修改当前条目而不是创建一个新条目。
任何想法如何实现这一目标?
答案 0 :(得分:0)
您可以尝试
def save_model(self, request, obj, form, change):
if not change:
obj.submit_usr = request.user
super().save_model(request, obj, form, change)