使用多对多关系时将数据表提供给表的问题

时间:2012-09-18 10:56:32

标签: django django-models django-views

我正在开发一个有两个模型的应用程序,因为我指定了多个关系,因此django自己创建第三个表来定义两个模型之间的关系,但是我无法提供数据(两个表的id)到第3张桌子。任何人都可以告诉我怎么做呢

model.py:

from django.db import models
from django.contrib.auth.models import User

class Customer(models.Model):
    user        =models.OneToOneField(User)
    birthday    =models.DateField()
    website     =models.CharField(max_length=50)
    store       =models.CharField(max_length=50)
    welcomemail =models.CharField(max_length=50)

    def __unicode__(self):
             return self.user

class Customer_check_attributes(models.Model):
    user        =models.ManyToManyField(User)
    billing_add =models.CharField(max_length=100, blank=True , null=True)
    shipping_add    =models.CharField(max_length=100, blank=True , null=True)
    payment_method  =models.CharField(max_length=100, blank=True , null=True)
    shipping_method =models.CharField(max_length=200, blank=True , null=True)
    reward_points   =models.CharField(max_length=100, blank=True , null=True)

1 个答案:

答案 0 :(得分:0)

为什么需要访问中间表?如果您只是使用自动创建的,并且没有在关系上添加任何额外字段,则没有理由这样做。

只需按常规方式为多对多添加项目:

item1 = Model1.objects.create(foo='bar')
item2 = Model2.objects.create(spam='eggs')
item1.item2s.add(item2)