Python Django:向模型添加多个值';s场
我是Django的新手。我正在尝试创建一个包含新闻和新闻中提到的公司的应用程序,并创建了以下模型: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
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) 我如何查询它,以便类似于选择计数(不同的“公司”)的查询…
应该分别输出Facebook和Google,而不是“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”)
希望这能给你一个领先的开始。要获得更深入的报道,请阅读此文。您的模型似乎是正确的。你只需要学习几个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),它会相应地将其关联起来。谢谢。我正在尝试