Version 9 (modified by 16 years ago) ( diff ) | ,
---|
How to set the current user on the model instance using newforms admin.
TODO make it work with inline edited models
# app/models.py from django.db import models from django.contrib.auth.models import User class Post(models.Model): user = models.ForeignKey(User) content = models.TextField() class Comment(models.Model): post = models.ForeignKey(Post) user = models.ForeignKey(User) content = models.TextField() # app/admin.py from app.models import Post, Comment from django.contrib import admin class CommentInline(admin.TabularInline): model = Comment fields = ('content',) class PostModelAdmin(admin.ModelAdmin): fields= ('content',) inlines = [CommentInline] def save_model(self, request, form, change): instance = form.save(commit=False) instance.user = request.user instance.save() form.save_m2m() return instance def save_formset(self, request, formset, change): instances = formset.save(commit=False) for instance in instances: instance.user = request.user instance.save() formset.save_m2m() admin.site.register(Post, PostModelAdmin)
Note:
See TracWiki
for help on using the wiki.