【发布时间】:2014-02-16 09:25:30
【问题描述】:
我有这两个模型:
class Order(models.Model):
shop = ForeignKey(Shop)
date_modified = DateTimeField(auto_now=True)
class Meta:
db_table = 't_order'
class Transaction(models.Model):
order = ForeignKey('Order')
quantity = IntegerField()
item = ForeignKey(Item)
date_modified = DateTimeField(auto_now=True)
class Meta:
db_table = 't_transaction'
还有两个资源:
class OrderResource(ModelResource):
shop = fields.ToOneField(ShopResource, 'shop')
transactions = fields.ToManyField('TransactionResource','transaction_set', full=True)
class Meta:
queryset = Order.objects.all()
resource_name = 'order'
authentication = Authentication()
authorization = Authorization()
allowed_methods = ['post', 'get']
class TransactionResource(ModelResource):
order = fields.ToOneField('OrderResource', 'order')
item = fields.ToOneField('ItemResource', 'item')
class Meta:
queryset = Transaction.objects.all()
resource_name = 'transaction'
authentication = Authentication()
authorization = Authorization()
allowed_methods = ['post', 'get']
我将此数据发布到
http://127.0.0.1:5000/api/order/
:
{
"shop": "/api/shop/1/",
"transactions": [
{
"item": "/api/item/6/",
"quantity" : 2
}
]
}
我收到以下错误:
"error_message": "Transaction has no order.",
如果我删除
order = fields.ToOneField('OrderResource', 'order')
我得到的来自 TransactionResource 的行:
"error_message": "(1048, "Column 'order_id' cannot be null")",
我哪里错了?
【问题讨论】:
标签: django django-models tastypie