फॉर्म प्रदर्शित होने से पहले, Django मॉडल उदाहरण जोड़ने के लिए स्वचालित रूप से जेनरेट किए गए फ़ॉर्म में किसी फ़ील्ड का प्रारंभिक मान कैसे सेट कर सकता हूं? मैं Django 1.3.1 का उपयोग कर रहा हूँ।Django व्यवस्थापक मॉडल के लिए प्रारंभिक डेटा कैसे सेट करें उदाहरण उदाहरण जोड़ें?
मेरे मॉडल निम्नलिखित है: विशेष
class Foo(models.Model):
title = models.CharField(max_length=50)
description = models.TextField()
और वर्तमान व्यवस्थापक प्रपत्र है वास्तव में कुछ भी नहीं एक
class FooAdmin(admin.ModelAdmin):
ordering = ('title',)
जब मैं फू का एक नया उदाहरण जोड़ने के लिए व्यवस्थापक पृष्ठ का उपयोग करें, मैं शीर्षक और विवरण के लिए खाली फ़ील्ड के साथ अच्छा फॉर्म। मुझे क्या चाहिए कि वर्णन फ़ील्ड एक टेम्पलेट के साथ सेट है जिसे मैं फ़ंक्शन को कॉल करके प्राप्त करता हूं।
वहाँ हो रही है पर मेरे वर्तमान सबसे अच्छा प्रयास यह है:
def get_default_content():
return 'this is a template for a Foo description'
class FooAdminForm(django.forms.ModelForm):
class Meta:
model = Foo
def __init__(self, *args, **kwargs):
kwargs['initial'].update({'description': get_default_content()})
super(FooAdminForm, self).__init__(self, *args, **kwargs)
class FooAdmin(admin.ModelAdmin):
ordering = ('title',)
form = FooAdminForm
लेकिन अगर मैं यह कोशिश मैं इस Django त्रुटि मिलती है:
AttributeError at /admin/bar/foo/add/
'FooForm' object has no attribute 'get'
Request Method: GET
Request URL: http://localhost:8000/admin/bar/foo/add/
Django Version: 1.3.1
Exception Type: AttributeError
Exception Value: 'FooForm' object has no attribute 'get'
Exception Location: /www/django-site/venv/lib/python2.6/site-packages/django/forms/widgets.py in value_from_datadict, line 178
मैं, यहाँ क्या गलत है पता नहीं है और इसे काम करने के लिए मुझे क्या करना चाहिए। मुझे इस त्रुटि के बारे में अजीब लगता है (इस तथ्य के अलावा कि मैं इसे बिल्कुल देखता हूं) यह है कि मेरे कोड में कोई फूफॉर्म नहीं है?
वाह, यह एक आकर्षण की तरह काम किया! इस तरह की मूर्खतापूर्ण गलती के रास्ते से बेहद गुप्त संदेश ... आपकी मदद के लिए बहुत बहुत धन्यवाद! –
वैसे, मैंने आपके दूसरे सुझाव को सफलतापूर्वक भी आजमाया, जो कि क्लीनर भी है, इसलिए फिर से धन्यवाद! –
मैंने पाया कि सेटिंग कोवर्ग ['प्रारंभिक'] फ़ॉर्म को सहेजते समय त्रुटि हुई। मैं एक अगर खंड स्थापित किया था: अगर kwargs.keys() में 'प्रारंभिक':।। kwargs [ 'प्रारंभिक'] अद्यतन (... यह प्रारंभिक मान प्रदर्शित करने और उन्हें अद्यतन करने के लिए काम किया – Sven