Как реализовать выбор с предварительной сортировкой в Django?
В базе данных есть таблица с двумя столбцами: 'Город' и 'Почтовое отделение'. Как реализовать отбор филиалов с предварительной сортировкой по 'City'?
У меня нет абсолютно никаких идей, я буду благодарен за любые советы.
Если это простая сортировка, то можно предварительно отсортировать вывод в 2 местах
- вы можете сортировать в model.py :
class Meta:
ordering = ['part_name']
(пример)
class Parts(models.Model):
part_api_barcode = models.CharField(max_length=100, null=True, blank=True , verbose_name='API Barcode')
part_name = models.CharField(max_length=200, null=True, blank=True , verbose_name='Name')
part_model = models.CharField(max_length=100, null=True, blank=True , verbose_name='Model')
part_note = models.TextField(null=True, blank=True, verbose_name='Note')
part_manufacturer_barcode = models.CharField(max_length=100, null=True, blank=True , verbose_name='Manufacturer Barcode')
part_manufacturer_part_number= models.CharField(max_length=100, null=True, blank=True , verbose_name='Manufacturer Part Number')
part_oem_number= models.CharField(max_length=100, null=True, blank=True , verbose_name='OEM Number')
part_qty_in_stock = models.PositiveIntegerField( null=True, blank=True , verbose_name= 'Quantity In Stock')
part_min_qty = models.PositiveIntegerField( null=True, blank=True , verbose_name= 'Minimum Quantity')
part_compatible= models.CharField(max_length=100, null=True, blank=True , verbose_name='Where to Use')
date_posted = models.DateTimeField(default=timezone.now)
creator = models.ForeignKey(User , on_delete=models.SET_NULL, blank=True, null=True,)
class Meta:
ordering = ['part_name']
def __str__(self):
return str(self.part_name) + str(self.part_manufacturer_barcode)
def get_absolute_url(self):
return reverse('parts-detail-page',kwargs={'pk':self.pk})
- в файле view.py :
ordering = ['part_name']
(пример)
class PartsListView(ListView):
model = Parts
context_object_name = 'parts'
ordering = ['part_name']
paginate_by = 50