Это модель, которую я хочу показать на панели администратора. Я регистрирую модель через файл admin.py
с admin.site.register(Ad)
. Я дважды пытался перезаписать строку реестра, и появилось исключение, что модель уже зарегистрирована.
class Ad(AdModel):
plate = models.CharField(max_length=50, unique=True)
description = models.TextField(max_length=500)
ad_type = models.CharField(
max_length=255,
choices=AdTypes.get_choices(),
default=AdTypes.OFFERING,
)
price = models.PositiveIntegerField(
default=0,
help_text='In cents'
)
location = models.CharField(
max_length=255,
choices=AdLocations.get_choices(),
default=AdLocations.VILNIUS,
)
user = models.ForeignKey(User, on_delete=models.PROTECT)
approved_date = models.DateField(null=True, blank=True)
approved_by = models.ForeignKey(
User, on_delete=models.PROTECT, related_name='approved_by', null=True
)
Две базовые модели:
class UUIDBaseModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
class Meta:
abstract = True
class AdModel(UUIDBaseModel):
expires_at = models.DateTimeField(null=True)
is_draft = models.BooleanField(default=False)
is_active = models.BooleanField(default=False)
class Meta:
abstract = True
Это действительно странно, может быть проблема в названии "Реклама"? У меня есть сериализатор для этой модели и все отлично работает, но админка не хочет его отображать.
views.py
class AdCreateViewSet(ModelViewSet, CreateModelMixin):
serializer_class = AdCreateSerializer
permission_classes = (AllowAny,)
filter_backends = [DjangoFilterBackend]
search_fields = ('plate', 'description', 'user__email')
queryset = Ad.objects.select_related('user')
def perform_create(self, serializer):
user = User.objects.first()
serializer.save(user=user) # self.request.user)
serializers.py
class AdCreateSerializer(CustomAdSerializer):
class Meta:
model = Ad
exclude = ['expires_at']
read_only_fields = ('user',)
Вы используете суперпользователя/администратора? Возможно, у вас нет разрешений
Вы добавили свое приложение в настройки
INSTALLED_APPS
?Вы запускали syncdb после того, как добавили этот класс в models.py?
Можешь поделиться своим
admin.py
? а какая у вас админка на главной странице? на этом фото вы в пользовательском разделе...Привет всем, я все настроил, но я думаю, что это могут быть все разрешения, как и где я должен их добавить? @бдбд
Попробуйте сначала увидеть, если вы видите это с суперпользователем
Я уже пробую это с суперпользователем @bdbd