xacce / django-simple-yandex-map

Простая интеграция Яндекс карт в панель администратора django
MIT License
14 stars 12 forks source link

Ошибка при кастомизации формы #2

Closed wolfmetr closed 11 years ago

wolfmetr commented 11 years ago

если в admin.py задать fieldsets, то валится ошибка Exception Type: KeyError Exception Value:'widget' Exception Location:/django_ymap/fields.py in formfield, line 11

wolfmetr commented 11 years ago

Файл admin.py когда у меня не работал fieldset (поле coord типа YmapCoord)

#coding: utf-8

from django.contrib import admin
from django.forms import ModelForm
from django_ymap.admin import YmapAdmin

from .models import Market

class MarketAdmin(YmapAdmin, admin.ModelAdmin):
    date_hierarchy = "created_at"
    fieldsets = [
        (None, {'fields': ['published', 'title', 'description', 'author', 'image']}),
        ((u'Географическое положение'),
         {
             'fields': [
                'address',
                'coord'
             ],
         }
        ),
    ]
    list_display = ["published", "title", "updated_at", "author"]
    list_display_links = ["title"]
    list_editable = ["published"]
    list_filter = ["published", "updated_at"]

admin.site.register(Market, MarketAdmin)

Чтобы всё заработало я напрямую к форме привязал виджет и убрал YmapAdmin

#coding: utf-8

from django.contrib import admin
from django.forms import ModelForm
from django_ymap.widgets import YmapCoordFieldWidget

from .models import Market

class MarketForm(ModelForm):
    class Meta:
        model = Market
        widgets = {
            'coord' : YmapCoordFieldWidget
        }

class MarketAdmin(admin.ModelAdmin):
    date_hierarchy = "created_at"
    form = MarketForm
    fieldsets = [
        (None, {'fields': ['published', 'title', 'description', 'author', 'image']}),
        ((u'Географическое положение'),
         {
             'fields': [
                'address',
                'coord'
             ],
         }
        ),
    ]
    list_display = ["published", "title", "updated_at", "author"]
    list_display_links = ["title"]
    list_editable = ["published"]
    list_filter = ["published", "updated_at"]

admin.site.register(Market, MarketAdmin)