抱歉,如果您之前曾提出过此问题,但我找不到特定的用例回答。
我有一个显示基本产品信息的表。产品详细信息(例如价格,销售数量和卖方数量)会定期进行抓取,并存储在单独的数据库表中。现在,我想使用tables2在前端的一个表中同时显示基本产品信息和详细信息。为此,我在产品模型中编写了一个函数,以获取最新的详细信息并将其作为字典返回,从而可以使用单个Accessor调用。
# models.py
class Product(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
name = models.CharField(max_length=256)
brand = models.ForeignKey(Brand)
category = models.CharField(max_length=128, choices=CATEGORY_CHOICES)
def __unicode__(self):
return self.name
def currentState(self):
currentDetailState = ProductDetailsState.objects.filter(
product=self
).latest('created_at')
# return current details as a dictionary
return {
price: currentDetailState.price,
num_sellers: currentDetailState.num_sellers,
num_sales: currentDetailState.num_sales
}
class ProductDetailsState(models.Model):
product = models.ForeignKey(Product)
created_at = models.DateTimeField(auto_now_add=True)
price = models.DecimalField(max_digits=6, decimal_places=2, null=True)
num_sellers = models.IntegerField(null=True)
num_sales = models.IntegerField(null=True)
def __unicode__(self):
return self.created_at
# tables.py
class ProductTable(tables.Table):
productBrand = tables.Column(
accessor=Accessor('brand.name'),
verbose_name='Brand'
)
currentRank = tables.Column(
accessor=Accessor('currentRank')
)
class Meta:
model = Product
...
现在如何使用此返回的字典并将其拆分为“产品”表中的列?除了我的操作方式之外,还有其他方法可以使用访问器吗?
天涯尽头无女友
相关分类