Я получаю эту ошибку, когда пытаюсь создать пользовательскую форму в представлении администратора, я не вижу никакого решения для stackoverflow (да, аналогичные проблемы), поэтому я думаю, что это хорошая идея опубликовать ее:
My Models.py:
class Webhook(models.Model):
url = models.CharField('URL', max_length = 60, unique = True)
description = models.CharField('Descripcion', max_length = 255)
enabled = models.BooleanField('Enabled', default=True)
event = models.CharField('Evento', max_length=1, choices=Events.EVENTS_CHOICES)
Мои формы:
class WebhookForm(forms.ModelForm):
class Meta:
model = Webhook
fields = '__all__'
def save(self, commit=True):
print('saveeeeeee')
webhook = super().save(commit=False)
webhook.code = webhook.id
# Get token
response_token = TOKEN.get()
if response_token['success']:
# Create Webhook
url = 'https://sandbox.bind.com.ar/v1/webhooks'
headers = {
'Content-type': 'application/json',
'Authorization': 'JWT ' + response_token['token']
}
data = {
'url': webhook.url, # Debera responder status_code == 200
'description': webhook.description,
'code': webhook.id,
'enabled': webhook.enabled,
'events': webhook.event
}
data_json = json.dumps(data)
response = requests.put(url, data= data_json, headers = headers)
response_json = response.json()
# Result
result = {}
if response.status_code == 409:
result['success'] = False
result['details'] = response_json
else:
result['success'] = True
result['data'] = response_json
# If ok, Save
if commit & result['success']:
webhook.save()
return result['success']
Мой Admin.py
class WebhookAdmin(forms.ModelForm): # Only to override a form in admin
class Meta:
model = WebhookForm
fields = '__all__'
# Style to add a new User
add_form = WebhookForm
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('url', 'description', 'code', 'enabled', 'events',)}
),
)
# Style to edit a new User
form = WebhookForm
fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('url', 'description', 'code', 'enabled', 'events',)}
),
)
admin.site.register(Webhook, WebhookAdmin)
И я получаю эту ошибку, когда пытаюсь сделать Pythonmanage.py makemigrations:
AttributeError: у объекта 'ModelFormOptions' нет атрибута 'private_fields'