Для модели в model_or_iterable: TypeError: объект 'MediaDefiningClass' не является итерируемым
Я столкнулся с проблемой миграции этой модели и этого администратора
python manage.py makemigrations
Возникает ошибка
for model in model_or_iterable:
TypeError: 'MediaDefiningClass' object is not iterable
это мой администратор
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import Group
from .models import User, Province
class MyUserAdmin(UserAdmin):
fields = (
(None, {'fields': ('username', 'password')}),
'Personal info', {'fields': ('first_name', 'last_name', 'phone_number', 'email')},
'Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser',
'groups', 'user_permissions')},
'Important dates', {'fields': ('last_login', 'date_joined')},
)
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'phone_number', 'password1', 'password2'),
}),
)
list_display = ('username', 'phone_number', 'email', 'is_staff')
search_fields = ('username_exact',)
ordering = ('-id',)
def get_search_results(self, request, queryset, search_term):
queryset, my_have_duplicates = super().get_search_results(
request, queryset, search_term
)
try:
search_term_as_int = int(search_term)
except ValueError:
pass
else:
queryset |= self.model.objects.filter(phone_number=search_term_as_int)
return queryset, my_have_duplicates
admin.site.unregister(Group)
admin.site.register(Province)
admin.site.register(User)
admin.site.register(MyUserAdmin)
Но программа столкнулась с ошибкой
for model in model_or_iterable:
TypeError: 'MediaDefiningClass' object is not iterable
Попробуйте это :
admin.site.register(User, MyUserAdmin)
вместо
admin.site.register(User)
admin.site.register(MyUserAdmin)
MyUserAdmin - это не Модель, а 'MediaDefiningClass', поэтому он должен быть вторым аргументом в admin.site.register()