Python 一个表中的多个外键

Python 一个表中的多个外键,python,sql,django,Python,Sql,Django,我有一张表1,有a列,b列,c列,c列。我还有另一个表2,有tb_col1,tb_col2,tb_col3,我想引用col_a->tb_col,col_b->tb_col2,col_c->tb_col3 我应该使用复合键吗?如果是,我如何在Django(python)中实现它 我的模型: class product_models(models.Model): products = models.ForeignKey('products') model_name = model

我有一张表1,有a列,b列,c列,c列。我还有另一个表2,有tb_col1,tb_col2,tb_col3,我想引用col_a->tb_col,col_b->tb_col2,col_c->tb_col3

我应该使用复合键吗?如果是,我如何在Django(python)中实现它

我的模型:

class product_models(models.Model):
     products = models.ForeignKey('products')
     model_name = models.CharField(max_length=50)
     model_price = models.IntegerField(max_length=4)
     model_desc = models.TextField(blank=True)
     commision = models.IntegerField(max_length=3)

    def __unicode__(self):
        return self.model_name



class sales_process(models.Model):

     prospect = models.ForeignKey('prospect')
     employee = models.ForeignKey(User)
     first_call = models.DateTimeField
     product = models.ForeignKey('products')
     model_name = models.ForeignKey('product_models')
     #price = reference to product_model for the price
     #commission = reference to product_model for commission 

在这里,我如何将
价格
引用到
产品型号
佣金
引用到
产品型号
为什么不将销售流程与产品型号关联起来呢


product\u model=models.ForeignKey(‘product\u models’)

不需要从销售流程模型上的产品模型复制多个列,是否存在

另外,请查看自定义模型管理器:

您可以用一种很好的命名方式在模型上创建方便的方法(也就是说从相关模型中查找内容)

在下面的示例中,您可以调用Team.objects.get(pk=1).games()返回一个团队的所有游戏,无论是主场还是客场

class TeamManager(models.Manager):
    def games(self, name):
        return Game.objects.filter(home__name=name) | Game.objects.filter(away__name=name)


class Team(models.Model):
    objects = TeamManager()
    name = models.CharField(max_length=100, unique=True)

class Game(models.Model):
    away = models.ForeignKey(Team, null=True, blank=True, related_name="away")
    home = models.ForeignKey(Team, null=True, blank=True, related_name="home")  

在Django文档中查看。用您试图开发的代码编辑您的问题,以实现您的表,这样您可能会有更好的机会获得帮助。@Joseph Paetz我更新了问题以获得更清晰的说明这是一个值得注意的要点。但是看在上帝的份上,如果我还想要复制品呢?我真的不认为你想那样做。您能解释一下为什么您认为这是必要的吗?我计划将
sales\u process
作为一个数据库视图,在这里我创建表,但通过连接两个表来输出。您的RDBMS允许对视图进行插入和更新吗?除了在Django中使模型看起来像你想要的那样之外,你还需要视图存在吗?我怀疑,正如我所知,这是不可能的,上面的注释中有打字错误,我不想再次创建表,从2个或更多表创建视图。是的,我希望这个观点存在。