Update headphones microphone and case protection

This commit is contained in:
apheyhys 2025-05-10 17:31:19 +03:00
parent bb9d63b448
commit c9243c7b06
2 changed files with 41 additions and 7 deletions

View file

@ -390,6 +390,20 @@ class NoiseCancellationTypeAdmin(admin.ModelAdmin):
prepopulated_fields = {'slug': ('name',)}
@admin.register(HeadphonesMicrophoneType)
class HeadphonesMicrophoneTypeAdmin(admin.ModelAdmin):
list_display = ('type', 'description')
search_fields = ('type',)
prepopulated_fields = {'type': ('description',)}
@admin.register(HeadphonesCaseIP)
class HeadphonesCaseIPAdmin(admin.ModelAdmin):
list_display = ('code', 'description')
search_fields = ('code',)
prepopulated_fields = {'code': ('description',)}
@admin.register(CodecType)
class CodecTypeAdmin(admin.ModelAdmin):
list_display = ('name',)

View file

@ -206,7 +206,7 @@ class DriverModel(models.Model):
class DriverType(models.Model):
name = models.CharField(max_length=50, verbose_name="Тип драйвера")
encoding = models.CharField(blank=True, max_length=10, verbose_name="Буквенное обозначение>")
encoding = models.CharField(blank=True, max_length=10, verbose_name="Буквенное обозначение")
slug = models.SlugField(unique=True, verbose_name="URL-идентификатор")
class Meta:
@ -622,7 +622,22 @@ class HeadphonesMicrophoneType(models.Model):
description = models.CharField(blank=True, verbose_name="Описание")
class Meta:
verbose_name = "Тип микрофона"
verbose_name = "Ресурс обзора"
def __str__(self):
return self.type
class HeadphonesCaseIP(models.Model):
code = models.CharField(max_length=50, verbose_name="Код степени защиты")
description = models.CharField(blank=True, verbose_name="Описание степени защиты")
class Meta:
verbose_name = "Степень защиты"
def __str__(self):
return self.code
# ======================
# Основная модель наушников
@ -744,9 +759,12 @@ class Headphones(models.Model):
)
# Дополнительные функции
microphone = models.BooleanField(
verbose_name="Встроенный микрофон",
default=False,
microphone = models.ForeignKey(
HeadphonesMicrophoneType,
on_delete=models.PROTECT,
null=True,
blank=True,
verbose_name="Тип микрофона",
)
noise_cancellation = models.ForeignKey(
NoiseCancellationType,
@ -755,8 +773,10 @@ class Headphones(models.Model):
blank=True,
verbose_name="Шумоподавление",
)
ip_rating = models.CharField(
max_length=10,
ip_rating = models.ForeignKey(
HeadphonesCaseIP,
on_delete=models.PROTECT,
null=True,
blank=True,
help_text="Например: IPX4",
verbose_name="Степень защиты (IP)",