django - 在同一模型上使用外键,但在两个不同的字段上
问题描述
如果这个问题很愚蠢,我很抱歉,但我在谷歌上找不到任何有用的东西。
所以我有一个由两个字段组成的模型。
我想创建一个包含其他一些字段的模型,但其中两个应该是前一个的。有没有办法获得这个?
代码:
from django.db import models
from django.contrib.auth.models import User
from datetime import date
# Create your models here.
class CORMeserii(models.Model):
CodCOR = models.CharField(max_length=25, primary_key=True, unique=True)
MeserieCor = models.CharField(max_length=50, unique=True)
class Oferta(models.Model):
solicitant = models.ForeignKey(User, on_delete=models.CASCADE)
cor = models.ForeignKey(CORMeserii, max_length=25, on_delete=models.CASCADE)
meserie = models.ForeignKey(CORMeserii, max_length=50, to_field='MeserieCor', on_delete=models.CASCADE)
dataSolicitare = models.DateField(default=date.today)
denumireMeserie = models.CharField(max_length=50)
locuri = models.IntegerField()
agentEconomic = models.CharField(max_length=50)
adresa = models.CharField(max_length=150)
dataExpirare = models.DateField()
experientaSolicitata = models.CharField(max_length=200)
studiiSolicitate = models.CharField(max_length=200)
judet = models.CharField(max_length=20)
localitate = models.CharField(max_length=25)
telefon = models.CharField(max_length=12)
emailContact = models.EmailField(max_length=40)
rezolvata = models.BooleanField(default=False)
def __str__(self):
return self.cor
我认为这可能有效,但我收到以下错误:
from django.db import models
from django.contrib.auth.models import User
from datetime import date
from .validators import validate_file_size
# Create your models here.
class CORMeserii(models.Model):
CodCOR = models.CharField(max_length=25, primary_key=True, unique=True)
MeserieCor = models.CharField(max_length=50, unique=True)
class Oferta(models.Model):
solicitant = models.ForeignKey(User, on_delete=models.CASCADE)
cor = models.ForeignKey(CORMeserii, max_length=25, on_delete=models.CASCADE)
meserie = models.ForeignKey(CORMeserii, max_length=50, to_field='MeserieCor', on_delete=models.CASCADE)
dataSolicitare = models.DateField(default=date.today)
denumireMeserie = models.CharField(max_length=50)
locuri = models.IntegerField()
agentEconomic = models.CharField(max_length=50)
adresa = models.CharField(max_length=150)
dataExpirare = models.DateField()
experientaSolicitata = models.CharField(max_length=200)
studiiSolicitate = models.CharField(max_length=200)
judet = models.CharField(max_length=20)
localitate = models.CharField(max_length=25)
telefon = models.CharField(max_length=12)
emailContact = models.EmailField(max_length=40)
rezolvata = models.BooleanField(default=False)
def __str__(self):
return self.cor
解决方案
推荐阅读
- mysql - 在 My SQL 中获取带有间隔的缺失时间段值
- redis - 如何在 Redis 中存储 Json 数据?
- python - 我如何将一个数字除以 2 多次
- asp.net-core - 如何在 ConfigureServices 中获取 FeatureManager?
- c# - 自定义协议处理后能否避免 CefSharp 浏览器导航?
- java - 在某些代码块运行时间超过可接受的时间后,是否可以强制 Java 抛出异常?
- slack - 如何为 Slack 设置重定向 URL?
- customization - 将 Windows WPP 软件跟踪合并到 SCons 构建中的最简单方法是什么?
- git - 创建一个新分支并希望从 master 获取更改
- ios - 在 iOS 中禁用特定 UITextField 的 3rd 方键盘