Added new fields for wireless headphones
This commit is contained in:
parent
2a83135234
commit
967da2ba42
2 changed files with 44 additions and 6 deletions
|
|
@ -59,16 +59,18 @@ class WiredHeadphonesInline(admin.StackedInline):
|
|||
]
|
||||
|
||||
|
||||
|
||||
|
||||
class WirelessHeadphonesInline(admin.StackedInline):
|
||||
model = WirelessHeadphones
|
||||
extra = 0
|
||||
fieldsets = [
|
||||
(None, {
|
||||
'fields': [
|
||||
('wireless_technology', 'bluetooth_version'),
|
||||
('wireless_technology', 'bluetooth_version', 'chip'),
|
||||
('battery_life', 'charging_time'),
|
||||
('has_charging_case', 'charging_case_battery_life', 'charging_case_time'),
|
||||
'charging_interface',
|
||||
('has_charging_case', 'charging_case_battery_life'),
|
||||
'supported_codecs'
|
||||
]
|
||||
})
|
||||
|
|
@ -222,7 +224,7 @@ class HeadphonesAdmin(admin.ModelAdmin):
|
|||
'fields': [
|
||||
('date_added', 'published')
|
||||
],
|
||||
'classes': ('collapse',)
|
||||
# 'classes': ('collapse',)
|
||||
}),
|
||||
]
|
||||
|
||||
|
|
@ -432,6 +434,12 @@ class WirelessTechnologyAdmin(admin.ModelAdmin):
|
|||
search_fields = ('name', 'description')
|
||||
|
||||
|
||||
@admin.register(WirelessHeadphonesChip)
|
||||
class WWirelessHeadphonesChipAdmin(admin.ModelAdmin):
|
||||
list_display = ('name',)
|
||||
search_fields = ('name', 'description')
|
||||
|
||||
|
||||
@admin.register(ChargingInterface)
|
||||
class ChargingInterfaceAdmin(admin.ModelAdmin):
|
||||
list_display = ('name',)
|
||||
|
|
|
|||
|
|
@ -750,7 +750,7 @@ class Headphones(models.Model):
|
|||
# blank=True,
|
||||
# verbose_name="Доступные цвета"
|
||||
# )
|
||||
weight = models.PositiveSmallIntegerField(
|
||||
weight = models.FloatField(
|
||||
verbose_name="Вес (г)",
|
||||
null=True,
|
||||
blank=True
|
||||
|
|
@ -877,6 +877,18 @@ class WiredHeadphones(models.Model):
|
|||
return f"Проводные характеристики для {self.headphones.model}"
|
||||
|
||||
|
||||
class WirelessHeadphonesChip(models.Model):
|
||||
name = models.CharField(max_length=50, verbose_name="Название")
|
||||
description = models.TextField(blank=True, verbose_name="Описание")
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Используемый чип"
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
|
||||
class WirelessHeadphones(models.Model):
|
||||
headphones = models.OneToOneField(
|
||||
Headphones,
|
||||
|
|
@ -896,12 +908,16 @@ class WirelessHeadphones(models.Model):
|
|||
verbose_name="Версия Bluetooth"
|
||||
)
|
||||
battery_life = models.IntegerField(
|
||||
blank=True,
|
||||
null=True,
|
||||
verbose_name="Время работы (ч)",
|
||||
help_text="Время работы от батареи в часах"
|
||||
)
|
||||
charging_time = models.IntegerField(
|
||||
verbose_name="Время зарядки (мин)",
|
||||
help_text="Время зарядки в минутах"
|
||||
blank=True,
|
||||
null=True,
|
||||
verbose_name="Время зарядки наушников (мин)",
|
||||
help_text="Время зарядки наушников в минутах"
|
||||
)
|
||||
has_charging_case = models.BooleanField(
|
||||
default=False,
|
||||
|
|
@ -913,11 +929,25 @@ class WirelessHeadphones(models.Model):
|
|||
verbose_name="Время работы с кейсом (ч)",
|
||||
help_text="Общее время работы с кейсом в часах"
|
||||
)
|
||||
charging_case_time = models.IntegerField(
|
||||
blank=True,
|
||||
null=True,
|
||||
verbose_name="Время зарядки кейса (мин)",
|
||||
help_text="Время зарядки кейса в минутах"
|
||||
)
|
||||
|
||||
charging_interface = models.ForeignKey(
|
||||
ChargingInterface,
|
||||
on_delete=models.PROTECT,
|
||||
verbose_name="Интерфейс зарядки"
|
||||
)
|
||||
chip = models.ForeignKey(
|
||||
WirelessHeadphonesChip,
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=models.PROTECT,
|
||||
verbose_name="Чип, используемый в наушниках"
|
||||
)
|
||||
supported_codecs = models.ManyToManyField(
|
||||
AudioCodec,
|
||||
blank=True,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue