1

請求書リソースにデータを投稿するときに奇妙な問題が発生します。製品の検証が失敗した場合でも、請求書は失敗した製品データなしで保存されます。

私が望むのは、すべての製品が検証されるまで請求書が保存されないことです。

請求書リソースで製品の検証を何らかの方法で処理する必要がありますか?

コードの下に....

models.py

class Invoice(models.Model):
    some_model_fields

class Product(models.Model):
    invoice = models.ForeignKey(Invoice)
    some_model_fields

とforms.py

class ProductForm(ModelForm):
    class Meta:
        model = Product
        exclude = ['invoice']

class InvoiceForm(ModelForm):
    class Meta:
        model = Invoice

と resources.py

class ProductResource(ModelResource):
    invoice = fields.ForeignKey('apps.api.InvoiceResource', 'invoice')

class Meta:
    resource_name = 'product'
    queryset = Product.objects.all()
    validation = FormValidation(form_class=ProductForm)

class InvoiceResource(ModelResource):
    products = fields.ToManyField(ProductResource,
                              'product_set',
                              related_name='invoice',
                              null=False,
                              full=True)

    class Meta:
        queryset = Invoice.objects.all()
        resource_name = 'invoice'
        always_return_data = True
        validation = FormValidation(form_class=InvoiceForm)
4

0 に答える 0