django - 如何在 Django 模型外键上添加条件?
问题描述
我是 Django 的新手,请你帮帮我,我有两个模型,分别是 Continent 和 Country,在 Country 表单中我只想在下拉列表中显示它们状态为 true 的 Continents?
楷模
from django.db import models
from smart_selects.db_fields import GroupedForeignKey, ChainedForeignKey
class Continent(models.Model):
name = models.CharField(max_length=255)
status=models.BooleanField(default=True)
def __str__(self):
return self.name
class Country(models.Model):
continent = models.ForeignKey(Continent, null=True, on_delete=models.SET_NULL)
status=models.BooleanField(default=True)
name = models.CharField(max_length=255)
def __str__(self):
return self.name
形式
class FormContinent(ModelForm):
class Meta:
model = Continent
fields = '__all__'
class FormCountry(ModelForm):
class Meta:
model = Country
fields = '__all__'
意见
def continent(request):
form = FormContinent()
if request.method == 'POST':
form = FormContinent(request.POST)
form.is_valid()
form.save()
return redirect('/continent')
else:
context = {'form': form}
return render(request, 'continent.html', context)
def country(request):
form = FormCountry()
if request.method == 'POST':
form = FormCountry(request.POST)
form.is_valid()
form.save()
return redirect('/country')
else:
context = {'form': form}
return render(request, 'country.html', context)
解决方案
推荐阅读
- php - 从后端安装或更新插件时出现 10 月 cms 错误
- javascript - 编辑列表中的项目
- c# - 对 UseHttps 扩展方法的模糊调用
- sql - 在sql中的情况下如何执行多个操作?
- sql - 如何合并和显示 2 个表格的列?
- powerbi - 计算表累计
- php - 为什么我的 HTML 代码在用户名输入字段中打印根?
- git - 将 Spring Cloud Config Server 与我的 git 本地存储库连接
- java - 用 JLabel 的 setIcon 方法替换后 Gif 不再动画
- python - 为什么 Multiprocessing 会产生多个 PyGame 实例?