Tôi muốn điền một trường trước khi xác thực trong quản trị viên.Tôi làm cách nào để tạo một phương pháp làm sạch tùy chỉnh cho trang web quản trị?
models.py
class Ad(models.Model):
.....
manual_code = models.BooleanField("Manual Code", default=False)
code = models.TextField("Code")
admin.py
class MyAdAdminForm(forms.ModelForm):
class Meta:
model = Ad
def clean(self):
cleaned_data = self.cleaned_data
cleaned_data['code'] = "dadad"
print cleaned_data
return cleaned_data
class AdAdmin(admin.ModelAdmin):
form = MyAdAdminForm
admin.site.register(Ad, AdAdmin)
cuối cùng tôi muốn tạo ra rằng toàn bộ "code" lĩnh vực, nhưng tôi vẫn nhận được lỗi trong quản trị rằng lĩnh vực này là trống mặc dù tôi có thể thấy giá trị của nó ("dadad") trong trình bao.
Tôi cũng đã cố gắng
def clean_code(self):
và nó không được gọi hàm mà ở tất cả.
và tôi cũng đã cố gắng
def save_model(request,....):
trong lớp AdAdmin nhưng nó không được gọi là một trong hai.
vì vậy tôi nên làm gì?
Không nên làm sạch() có một mức thụt đầu dòng là một phần của MyAdAdminForm? – jpic
nó có trong mã của tôi, tôi sẽ sửa nó ở đây. –