Django yönetici formu var. Ve şimdi ilk alanımı modelime dayalı verilerle doldurmak istiyorum. Yani bu çalıştı: Bu noktadaDjango AdminForm alan varsayılan değer
class OrderForm(forms.ModelForm):
class Meta:
model = Order
email = CharField(initial="null", widget=Textarea(attrs={'rows': 30, 'cols': 100}))
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
products = kwargs['instance'].products.all()
self.message = purchase_message % (
"".join(["<li>" + p.name + ": " + str(p.price) + "</li>" for p in products]),
reduce(lambda x, y:x + y.price, products, 0)
)
# and here I have a message in self.message variable
super(OrderForm, self).__init__(*args, **kwargs)
i Widget oluşturulmadan önce başlangıçtaki değer ayarlamak için e-posta alanını erişmek nasıl bilmiyorum. Bunu nasıl yapabilirim?
sen @ozgur doğal modeli yönetici – ozgur
için özel bir form sınıfı kullanıyorsanız eğer çalışmaz. Özel form sınıfı kullanıyorsanız, başka bir yanıtta önerildiği gibi 'get_form' kullanın. Eğer olmasa da, bunu yapmak için kesinlikle bir neden yoktur. – Wtower
diğer yanıt, başlangıç değeri sağladığınız alanın 'exclude' özelliği ile hariç tutulduğu için çalışmaz, çünkü base_fields özelliği hariç tutulan alanları içermez. – ozgur