我知道通常Django会创建一个外键,user_id如果我只是做一些像
from django.db import models
class Order(models.Model):
user = models.ForeignKey(User)
comments = models.CharField(max_length=400)
date_created = models.DateTimeField('created date')
class User(models.Model):
name = models.CharField(max_length=200)
age = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
但如果我需要的东西在三个不同的外键Order,所有的点User?这三个外键是user_created,user_modified和user_status.
ale*_*lex 13
解决方案实际上是直截了当的:
class Order(models.Model):
user_status = models.ForeignKey( User, related_name = 'orders_status' )
user_created = models.ForeignKey( User, related_name = 'orders_created' )
user_modified = models.ForeignKey( User, related_name = 'orders_modified' )
Run Code Online (Sandbox Code Playgroud)
您只需定义单独的related_names以避免在从User对象访问Order时出现歧义.
| 归档时间: |
|
| 查看次数: |
5369 次 |
| 最近记录: |