【问题标题】:Issues with feeding the data tables into tables when using many to many relation使用多对多关系时将数据表输入表的问题
【发布时间】:2012-09-18 10:56:31
【问题描述】:

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

模型.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)

【问题讨论】:

    标签: django django-models django-views


    【解决方案1】:

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

    只需按照通常的方式将项目添加到您的多对多:

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

    【讨论】:

    • 我怎么用它你能解释一下这是我的模型`from django.db import models from django.contrib.auth.models import User class Customer(models.Model): user =models .OneToOneField(User) 生日 =models.DateField() 网站 =models.CharField(max_length=50) store =models.CharField(max_length=50) welcomemail =models.CharField(max_length=50) def __unicode__(self): return self .user 类 Customer_check_attributes(models.Model): user =models.ManyToManyField(User) billing_add =models.CharField(max_length=100, blank=True , null=True)
    • 你现在有什么问题?
    • 抱歉回复晚了你能给我看一个多对多关系的例子吗?提交数据时在 view.py 中需要做任何额外的事情
    猜你喜欢
    • 1970-01-01
    • 2018-10-22
    • 2021-07-18
    • 1970-01-01
    • 2021-03-11
    • 2016-02-02
    • 2013-07-20
    • 1970-01-01
    • 2015-07-30
    相关资源
    最近更新 更多