How to set the current user on the model instance in the admin:
# app/models.py fromdjango.dbimport models fromdjango.contrib.auth.modelsimport User classPost(models.Model): user = models.ForeignKey(User) content = models.TextField() classComment(models.Model): post = models.ForeignKey(Post) user = models.ForeignKey(User) content = models.TextField() # app/admin.py fromapp.modelsimport Post, Comment fromdjango.contribimport admin classCommentInline(admin.TabularInline): model = Comment fields = ('content',) classPostAdmin(admin.ModelAdmin): fields= ('content',) inlines = [CommentInline] defsave_model(self, request, obj, form, change): obj.user = request.user obj.save() defsave_formset(self, request, form, formset, change): if formset.model == Comment: instances = formset.save(commit=False) for instance in instances: instance.user = request.user instance.save() else: formset.save() admin.site.register(Post, PostAdmin)
Last modified
14 years ago
Last modified on Oct 12, 2011, 9:57:18 AM
Note:
See TracWiki
for help on using the wiki.