0

我有问题要问。我想让我change_form从相关查找的实例的值中预填充表格内联(使用 manytomany 字段)。因此,当我在 class 中搜索时kode_prodchange_formOrder可以获得它的实例并将所有内容预填充到我的 tabularinline (class Foo) 中。

这是我的模型

class Product(models.Model):
    product_name= models.CharField(max_length=50)
    price = models.DecimalField(max_digits=10, decimal_places=2, default=Decimal('0.00'))
    tax_per_item = models.DecimalField(max_digits=10, null=True, blank=True, decimal_places=2, default=Decimal('0.00'))
    discount_per_item = models.DecimalField(max_digits=10, null=True, blank=True, decimal_places=2, default=Decimal('0.00'))


class Order(models.Model):
    produks = models.ManyToManyField(Product, verbose_name=u"Kode Produk")
    no_customer = models.ForeignKey(Customer, null=True, blank=True, related_name='%(class)s_kode_cust')


class Foo(models.Model):
    product = models.ForeignKey(Product, editable=False)
    pemesanan = models.ForeignKey(Order)
    quantity = models.IntegerField()
    price = models.IntegerField()
    discount = models.IntegerField()
    tax = models.IntegerField()

Order是与 的多域关系Product,因此change_form我可以通过相关查找获得它的实例。类Foo是 .tabularinline 中的中介change_form。那么,我有什么方法可以做到这一点吗?请帮助我,感谢您的友好回复:)。

4

2 回答 2

0

您可能应该编写一个 jQuery 脚本,当kode_prod输入 a、页面加载或单击“添加另一个 Foo”链接时调用该脚本。您甚至不需要自定义提交按钮,因为您可以为事件注册一个事件侦听器'blur'

您的脚本发送一个异步 XMLHttpRequest,它由 django 视图回答,如下所示:

from django.core import serializers

def get_product(request, pk):
    return HttpResponse(serializers.serialize("xml", Product.objects.filter(pk=pk)))

然后在响应处理程序中的 jQuery 脚本中填充响应中所有需要的字段。

下次请在您的问题中更加具体和明确。

于 2012-06-13T09:46:43.110 回答
0

你需要OrderProduct通过之间的关系Foo吗?那么django-documentation可能会帮助你

于 2012-06-12T16:15:00.433 回答