Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:向模型添加多个值';s场_Python_Django_Database Design_Model - Fatal编程技术网

Python Django:向模型添加多个值';s场

Python Django:向模型添加多个值';s场,python,django,database-design,model,Python,Django,Database Design,Model,我是Django的新手。我正在尝试创建一个包含新闻和新闻中提到的公司的应用程序,并创建了以下模型: class Company(models.Model): company_name = models.CharField(max_length=100) company_country = models.CharField(max_length=50) def __str__(self): return self.orgn_name class N

我是Django的新手。我正在尝试创建一个包含新闻和新闻中提到的公司的应用程序,并创建了以下模型:

class Company(models.Model):
    company_name = models.CharField(max_length=100)
    company_country = models.CharField(max_length=50)

    def __str__(self):
        return self.orgn_name 



class News(models.Model):
    news_title = models.CharField(max_length=200)
    news_link = models.CharField(max_length=100)
    news_date = models.DateField()
    news_company = models.ManyToManyField(Company)  

    def __str__(self):
        return self.news_title
现在,一条新闻可能会提到不止一家公司。我如何解释这一点,并在数据库条目中输入公司列表?我现在正在使用默认的Sqlite数据库

例如,一条新闻可以是“Facebook在人工智能领域与谷歌竞争”。这条新闻有两家公司:Facebook和谷歌

1) 我如何设计我的模型,使它们为
公司
取多个值

2) 如何通过shell保存这些值

3) 我如何查询它,以便类似于
选择计数(不同的“公司”)的查询…
应该分别输出FacebookGoogle,而不是“Facebook,Google”


我被困在这里,迫切需要一些指导。TIA

您创建的模型很好,可以使用它们。让我们一步一步走

  • 让我们创建
    公司
    模型的实例:

    c=Company(Company\u name=“Facebook”,country\u name=“USA”)
    c、 save()

  • 现在让我们创建
    新闻
    模型的一个实例:

    n=News(News\u title=“AI”、News\u link=“link”、News\u date=“date”)

  • 现在我们必须将
    公司
    新闻
    关联起来。这可以通过以下方式实现:

    n.news\u公司。添加(c)

  • 现在,对于查询,我们可以编写如下:

    News.objects.filter(News\u company\u name=“Facebook”)

  • 这将返回Facebook公司的所有新闻


    希望这能给你一个领先的开始。要获得更深入的报道,请阅读此文。

    您的模型似乎是正确的。你只需要学习几个django教程就可以回答你提出的3个问题。谢谢。我一直到这里。如果有以下两家公司:
    c=Company(Company\u name=“Facebook”,country\u name=“USA”)
    g=Company(Company\u name=“Google”,country\u name=“USA”)
    。。。在将公司与新闻联系起来时,我是否应该写:n.news_company.add(c,g)。。。。或者<代码>n.news\u company.add(c)
    n.news\u company.add(g)
    n.save()它会输入这两个公司,并分别检索它们吗?是的,你可以做n.news\u company。添加(c,g),它会相应地将其关联起来。谢谢。我正在尝试