1
我在FoobarAdmin连接TestInline,这个东西效果很好,但我想登录的用户可预先填充的added_by场问题与Django的内联形式
from django.contrib import admin
from django.contrib.auth.models import User
class Test(models.Model):
description = models.TextField()
added_on = models.DateTimeField(auto_now_add=True)
added_by = models.ForeignKey(User, related_name='added_by',)
class TestInline(admin.TabularInline):
model = Test
extra = 1
class FoobarAdmin(admin.ModelAdmin):
inlines = [TestInline,]
admin.site.register(Foobar, FoobarAdmin)
请让我知道如果可能的已将用户预填充为added_by字段
我已经检查,但问题是added_by字段是用户的外键,文档说“prepopulated_fields不接受DateTimeField,ForeignKey或ManyToManyField字段。” 你能帮我解决这个问题吗? – Suhail 2010-08-20 11:19:21
似乎最受欢迎的方式是用一个使用Javascript/JQuery来执行您所需的操作来覆盖相关的管理表单。这里有几个StackOverflow的帖子,这里是一个似乎最有用的帖子:http://stackoverflow.com/questions/2799857/filtering-foreign-keys-with-ajax-in-django-admin – 2010-08-20 11:46:51
然而(我避难试过这个,所以只是想知道)也许你可以尝试使用'默认',而不是:http://docs.djangoproject.com/en/dev/ref/models/fields/#default – 2010-08-20 11:58:26