django - 有没有办法从模型中自动填写 ForeignKey?
问题描述
我对编程很陌生,但遇到了一些问题,在任何地方都找不到答案;可能是因为我不知道如何很好地描述这个问题。
我制作了一些模型:用户、客户和合同。代码:
模型.py:
class CustomerInfo(models.Model):
user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
customer_name = models.CharField(max_length=30, blank=False, null=False)
def __str__(self):
return self.customer_name
class ContractInfo(models.Model):
user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
customer = models.ForeignKey(CustomerInfo, null=True, on_delete=models.SET_NULL)
contract_nr = models.CharField(max_length=20, blank=False, null=False)
contract_active = models.BooleanField(default=True)
contract_start = models.DateField(blank=False, null=False)
contract_end = models.DateField(blank=False, null=False)
def __str__(self):
return self.contract_nr
视图.py:
def addcontract(request):
addcontract = AddContractForm()
if request.method == "POST":
form = AddContractForm(request.POST)
if form.is_valid():
contr = form.save(commit=False)
contr.user = request.user
contr.save()
return HttpResponseRedirect(reverse('Manager:contracts'))
else:
form = AddContractForm()
else:
form = AddContractForm()
return render(request,'manager/addcontract.html',{'addcontract':addcontract})
表格.py:
class AddContractForm(forms.ModelForm):
class Meta():
model = ContractInfo
exclude = ('user', 'customer',)
fields = ('contract_nr', 'contract_active', 'contract_start', 'contract_end',)
现在我已经设置了人们可以注册和登录。当他们注册时,他们创建了一个为(客户)工作的公司。登录后,他们可以添加合同。他们只看到他们制定的合同,通过执行以下操作过滤用户 ID 的合同:contr.user = request.user。但是,如果他们添加合同,则合同与用户相关联,而不是(还)他们所属的公司。有没有办法自动填写他们注册的客户姓名/号码? 缺少客户名称的图像
我希望我的问题很清楚,我将编辑问题(和标题),以便根据您的建议更清楚。
解决方案
推荐阅读
- google-cloud-platform - BigQuery MERGE 语句计费的字节数超过编辑器显示的字节数
- amazon-web-services - 无法向 SQS 发送 S3 存储桶通知
- tensorflow - 在张量流的`BERT`中使用`keras.Model.fit`时尺寸不匹配
- javascript - 如何使用程序从行中间用 8 个不同的代码填充 128 个框
- javascript - JavaScript - 在变量中捕获 img 标签 src
- sql - 根据数据存在的最后日期获取数据
- redux-saga - redux-saga - 如何获取 watcher 方法 - takeEvery - 动作类型本身来更新 redux 存储
- javascript - 通过 ReactJS 中的动画更改元素的位置
- sql - 如何使用gorm从字符串中获取特定数量的字符?
- sonarqube - Jacoco 报告 Sonar 的综合覆盖率报告问题