Моему django_table2 я передаю диктатор, а не набор запросов, как обычно
views
object_list = Warehouse_Order_Reserve.objects.values('wholesale_product__description','wholesale_product__code','wholesale_product_id' ).annotate(quantity=Sum('quantity'))
Когда я пытаюсь отобразить свои данные в моей таблице, я сталкиваюсь с проблемой, которая правильно отображается только поле warehouse_product_id, а не поля описания и кода
таблиц
class ReserveTable(tables.Table):
wholesale_product_name = tables.Column(accessor='wholesale_product_description',verbose_name= 'Product')
wholesale_product_code = tables.Column(accessor='wholesale_product_code',verbose_name= 'Sku')
wholesale_product_id = tables.Column(accessor='wholesale_product_id',verbose_name= 'ID')
details=tables.LinkColumn('reserve_details_list',args=[A('wholesale_product_id')],accessor='Backorder Details',orderable=False,empty_values=(),verbose_name = 'Λεπτομέρειες δέσμευσης')
class Meta:
#define the model
model = Warehouse_Order_Reserve
template_name = 'django_tables2/bootstrap4.html'
exclude = ('id','date',"warehouse","woo_order",'wholesale_product')
sequence = ('wholesale_product_name','wholesale_product_code', 'wholesale_product_id',"quantity",'details')
def render_wholesale_product_name(self,record):
return '%s' % (record['wholesale_product_description'])
def render_wholesale_product_code(self,record):
return '%s' % (record['wholesale_product_code'])
def render_wholesale_product_id(self,record):
return '%s' % (record['wholesale_product_id'])
def render_details(self,record):
return format_html('<a href="/reserve_details/{}/"><button class="btn btn-primary btn-sm" type="">Details</button></a>',record['wholesale_product_id'])
модель
class Warehouse_Order_Reserve(models.Model):
woo_order = models.ForeignKey(Woo_Orders,verbose_name="Order",null=True,on_delete=models.CASCADE)
wholesale_product=models.ForeignKey(Product,null=True,on_delete=models.CASCADE)
warehouse=models.ForeignKey(Warehouse,verbose_name=u'Warehouse',blank=True, null=True,on_delete=models.CASCADE)
quantity = models.DecimalField("Quantity", max_digits=7, decimal_places=2, default=0)
date = models.DateTimeField("Date",null=True, blank=True, default=datetime.datetime.now)
Это связано с аксессором? Обычно, когда мы передаем в таблицу набор запросов, мы возвращаем значение, как показано ниже
def render_wholesale_product_name(self,record):
return '%s' % (record.wholesale_product.description)
, но в моем случае это не работает. Как я могу сделать мои данные?