2

私はdjangoを初めて使用するため、これが初心者の質問である場合は申し訳ありません。django_tables2 で異なるモデルの列を表示する方法があるかどうか知りたいですか? Order_product モデルのすべての列を含むテーブルを表示したいのですが、Orders モデルの customer 列と publication_date 列も含めたいですか? django_tables2 のドキュメントを読みましたが、あまり役に立ちませんでした。

#models.py
class Customer(models.Model):
    costumer_id=models.IntegerField(max_length=5)
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40)


    def __unicode__(self):
        return self.first_name

class Product(models.Model):
    product_id=models.IntegerField(max_length=5)
    product_name=models.CharField(max_length=60)
    product_price=models.DecimalField(max_digits=5, decimal_places=2)


    def __unicode__(self):
            return self.product_name


class Orders(models.Model):
    order_id = models.CharField(max_length=5)
    customer = models.ForeignKey(Customer)
    publication_date = models.DateField()

    def __unicode__(self):
        return self.order_id


class Order_product(models.Model):
    order_id2 = models.ForeignKey(Orders)
    product_id2 = models.ForeignKey(Product)
4

2 に答える 2

0

あなたの質問がよくわかりません。多対多の関係を使用してみませんか? こちらのドキュメントを参照してください: https://docs.djangoproject.com/en/dev/topics/db/examples/many_to_many/

class Orders(models.Model):
    order_id = models.CharField(max_length=5)
    customer = models.ForeignKey(Customer)
    publication_date = models.DateField()
    products = models.ManyToMany(Product)

    def __unicode__(self):
        return self.order_id

また、注文から製品にアクセスできます。

>>> order = Orders.objects.all()[0]
>>> for product in order.products:
       print product.prodcut_name
       ...
于 2013-10-16T06:22:15.500 に答える