0
我是django和tastypie的新手。我想加入兩個模型,它們是order和order_item,根據訂單ID從它們兩個獲取數據。我從幾個來源引用,但仍未在這兩種模型中顯示數據。Django Tastypie:加入兩個模型
訂購的型號:
user = models.ForeignKey(USER_MODEL, blank=True, null=True,
verbose_name=_('User'))
status = models.IntegerField(choices=STATUS_CODES, default=PROCESSING,
verbose_name=_('Status'))
order_subtotal = CurrencyField(verbose_name=_('Order subtotal'))
order_total = CurrencyField(verbose_name=_('Order Total'))
shipping_address_text = models.TextField(_('Shipping address'), blank=True,
null=True)
billing_address_text = models.TextField(_('Billing address'), blank=True,
null=True)
created = models.DateTimeField(auto_now_add=True,
verbose_name=_('Created'))
modified = models.DateTimeField(auto_now=True,
verbose_name=_('Updated'))
cart_pk = models.PositiveIntegerField(_('Cart primary key'), blank=True, null=True)
userid_consgeo = models.TextField(blank=True, null=True)
cartid_consgeo = models.TextField(blank=True, null=True)
OrderItem的的型號:
order = models.ForeignKey(get_model_string('Order'), related_name='items',
verbose_name=_('Order'))
layer_reference = models.CharField(max_length=255,
verbose_name=_('Layer reference'))
layer_name = models.CharField(max_length=255, null=True, blank=True,
verbose_name=_('Layer name'))
layer = models.ForeignKey((ResourceBase),
null=True, blank=True, **f_kwargs)
unit_price = CurrencyField(verbose_name=_('Unit price'))
quantity = models.DecimalField(verbose_name=_('Quantity'), default=0.00, max_digits=12, decimal_places=2)
line_subtotal = CurrencyField(verbose_name=_('Line subtotal'))
line_total = CurrencyField(verbose_name=_('Line total'))
我的資源:
class OrderItemResources(ModelResource):
order_id = fields.CharField(attribute='order_id')
layer_id = fields.CharField(attribute='layer_id')
all_order = fields.ToManyField('resources.JoinOrderResources', 'all_order_set', related_name = 'all_order', full=True)
class Meta:
queryset = OrderItem.objects.all()
resource_name = 'order_item'
filtering = {
"layer_id": ALL_WITH_RELATIONS,
"order_id": ALL_WITH_RELATIONS,
}
class JoinOrderResources(ModelResource):
id = fields.CharField(attribute='id')
user = fields.CharField(attribute='user')
order_id = fields.ForeignKey(OrderItemResources, 'order_item', full=True, null=True)
class Meta:
queryset = Order.objects.all()
resource_name = 'all_order'
list_allowed_methods = ['get']
authorization = Authorization()
filtering = {
"id": ALL,
"user": ALL_WITH_RELATIONS,
}
tq Remi..it的工作..解決我的問題.. – nuriffah