我有一个Django 1.10内置的网站。该网站有3种不同的应用程序:团队、成员和新闻。
第一个叫做团队的应用程序有一个叫做团队的模型。
这是Team/models.py:
from django.db import models
from django.db.models.signals import pre_save
from django.utils.text import slugify
class Team(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
slug = models.CharField(max_length=255, default='team', editable=True)
class Meta:
ordering = ('name',)
def __unicode__(self):
return self.name
第二个应用称为成员,它有一个名为成员的模型。
这是Member/models.py:
from django.db import models
class Piloto(models.Model):
name = models.CharField(max_length=255)
biography = models.TextField()
slug = models.CharField(max_length=255, default='piloto', editable=True)
class Meta:
ordering = ('name',)
def __unicode__(self):
return self.name
我想要的是在成员档案中包含团队的名称,所以我知道它应该是这样的:
team_of_member = models.ForeignKey();
但是我不知道在括号里放什么,也不知道如何将团队的模型导入到成员的模型中。我一直在关注Django 1.10的文档,但它不起作用,我也尝试过这个链接,但它不起作用。你能帮个忙吗?谢谢
编辑:我试图按照@Bulva的建议去做,所以我的代码现在是这样的:
from django.db import models
from equipos.models import Team
class Member(models.Model):
name = models.CharField(max_length=255)
team = models.ForeignKey('teams.Team', null=True)
biography = models.TextField()
slug = models.CharField(max_length=255, default='piloto', editable=True)
class Meta:
ordering = ('name',)
def __unicode__(self):
return self.name
为了做你想做的(假设提供的代码是你完整的“有问题的”代码),你应该:
在Member/models.py中:
from django.db import models
from teams.models import Team # <--add this line
class Piloto(models.Model):
name = models.CharField(max_length=255)
team_of_member = models.ForeignKey(Team, on_delete=models.CASCADE); # <--add this line
biography = models.TextField()
slug = models.CharField(max_length=255, default='piloto', editable=True)
class Meta:
ordering = ('name',)
def __unicode__(self):
return self.name
在你这样做之后,记得:pythonmanage.pymakaffations
pythonmanage.py迁移
改变你的模型状态。
祝你好运:)
试试这个:
from teams.models import Team
# in the member model field
team_of_member = models.ForeignKey(Team);
你想要的是提供该成员所在的团队。这完全取决于你的业务逻辑。根据定义,一个团队有许多成员,但是一个成员能成为许多团队的一部分吗?如果是,你有多对多的关系。如果没有,你有一对多的关系。
在一对多假设下,外键信息必须放在引用模型中。然后:
from django.db import models
from team.models import Team # Generally, apps are in all lower-case (assuming your app is called team)
class Member(models.Model):
name = models.CharField(max_length=255)
team = models.ForeignKey('team.Team', related_name = 'members', null=True) # Do not forget to put team.Team inside a pair of single-quotes.
biography = models.TextField()
slug = models.CharField(max_length=255, default='piloto', editable=True)
class Meta:
ordering = ('name',)
def __unicode__(self): # use def __str__(self): in Python 3+
return self.name
在你看来,你可以这样说:
albert_team = albert.team
albert_teammates = albert_team.members
在多对多假设下,更自然地捕捉团队模型中的关系:
from django.db import models
from django.db.models.signals import pre_save
from django.utils.text import slugify
class Team(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
slug = models.CharField(max_length=255, default='team', editable=True)
members = models.ManyToManyField('team.Member', related_name = 'teams')
class Meta:
ordering = ('name',)
def __unicode__(self):
return self.name
albert_teams = albert.teams
all_albert_teammates = []
for team in albert_teams:
all_albert_teammates.append(team.members)
我有两个应用程序:同事和服务,每个都有自己的模型 在coworkers models.py中,我可以“从services.models导入服务”。 当我尝试在services models.py中“from coworkers.models import Status”时,会收到以下错误消息: 回溯(最近一次调用):文件“/Users/lucas/Documents/projetos/cwk-ma
问题内容: 我有一个正在运行的Flask应用程序,该应用程序是根据我们在网上和Miguel Grinberg的“ Flask Web开发”书中找到的最佳实践组合设置的。 现在,我们需要第二个Python应用程序,它不是Web应用程序,并且需要访问与Flask应用程序相同的模型。我们想重复使用相同的课程模型,因此两个应用程序都可以从共享代码中受益。 我们删除了关于flask- sqlalchemy扩
我对表达和node.js有点陌生,我不知道app.use和app.get.之间的区别。似乎你可以用它们来发送信息。例如: 似乎与此相同:
创建一个基于Django3的全栈项目似乎是最佳实践(或至少一种常用方法),该项目使用特定于项目的Django应用程序(而不是独立的Django应用程序),其结构如下(参见此处): 应用程序(此处:)通过以最基本的形式(没有规则、视图等)集成 和 在另一个应用程序(例如)中使用一个应用程序的逻辑(例如)可以很好地工作(例如通过中的)。 但是,如果我试图在app2的逻辑中访问app1的模型,我会得到。
问题内容: 我想知道我们是否可以使用新的iOS 8功能在应用程序之间共享数据:应用程序组(使用NSUserDefaults)-还是应用程序组仅在主应用程序及其扩展名之间共享数据? 我实际上在应该在它们之间共享数据的两个应用程序(它们属于同一公司)上启用了“应用程序组”功能。它们也具有相同的“应用程序组”内容(例如group.com.company.myApp)。 这是第一个代码(在Swift中)
我已经阅读了一些关于将Web应用和API应用部署到Azure的教程。然而,我仍然有点不确定为什么你会使用一个而不是另一个。 我可以创建一个新的。NET解决方案,并将其部署为Web应用程序,那么为什么我会特别需要API应用程序呢?这些都是专门为ASP优化的。NET Web API,其中Web应用程序用于交付HTML?