Я прилагаю TestInline в FoobarAdmin, эта вещь работает хорошо, но я хочу войти в системе пользователя, чтобы быть предварительно заполненным для поля 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
Я уже проверил, но проблема добавлена__поля является пользователем foreignKey, а в документах указано, что «prepopulated_fields не принимает поля DateTimeField, ForeignKey и ManyToManyField». Не могли бы вы мне помочь? – Suhail
Кажется, предпочтительным способом является переопределение соответствующей формы администратора с помощью той, которая использует Javascript/JQuery, чтобы делать то, что вам нужно. На этом есть несколько сообщений StackOverflow, и вот что кажется наиболее полезным: http://stackoverflow.com/questions/2799857/filtering-foreign-keys-with-ajax-in-django-admin –
Однако (и я раю 't попробовал это, так что просто интересно), возможно, вы могли бы попробовать использовать' default 'вместо: http://docs.djangoproject.com/en/dev/ref/models/fields/#default –