在Django中,有没有一种方法可以在模型之间创建以下动态关系?
class ClothingMale(models.Model):
# male specific fields
class ClothingFemale(models.Model):
# female specific fields
class Person(models.Model):
gender = models.IntegerField(max_length=2, choices=GENDER_CHOICES, blank=True)
clothes = models.Fo
我有这样一个场景,我有三个模型:类别,子类别和帖子。
-Category是一对多的子类别,子类别是一对多的帖子。
我的models.py看起来是这样的(小型化版本)。
class Category(models.Model):
cat=models.CharField(max_length=10)
class SubCategory(models.Model):
subcat=models.CharField(max_length=10)
class Posts(models.Model):
cat=models.ForeignKey(Category)
在Django模板中创建动态绑定的惯用方法是什么?例如,我有一个模板,它的左边有一个项目列表。此列表绑定到视图上下文中的模型,并以{% for %}循环显示。
在右边,是一个窗体,它应该在左边的表中显示选定行的值。
当用户单击我表中的一行时,我希望右边的表单更改以反映所选行的新值。在Django中,我似乎找不到任何简单的方法来做到这一点,而不提交一个表单似乎有违直觉,或者为我的列表中的每一行创建一个表单,然后只显示/隐藏所讨论的表单(这似乎也是不可取的)。
我正在使用django的内置表单向导SessionWizardView将表单拆分到多个页面。
当调用表单向导时,将向用户显示一个Select输入字段,该字段期望选择选项A或B。此选择会影响要显示的后续步骤。这意味着我基本上有两个完全不同的表单列表-其中哪个由表单向导处理取决于第一步中的选择,例如:
Step 1: Choice A -> use form list A
or
Step 1: Choice B -> use form list B
什么是一个优雅的,django友好的方式来实现这个动态工作流?
考虑到我有这样一个通用表单:
from django import forms
class TimesForm(forms.Form):
hours = forms.DecimalField()
description = forms.CharField()
topic = forms.CharField()
我想用html呈现这个表单,动态控制外观顺序的最佳方法是什么?换句话说,用户应该能够控制这些输入字段显示在屏幕上的顺序。
当我能够像这样迭代这些字段时:
{% for field in form %}
{{field}}
{% endfor %}
我没有找到
我花了一些时间研究其他问题,但我并不真正理解其中的一些实现。我正在使用django创建一个虚拟的图书租赁web应用程序。我想要显示一个带有复选框的图书列表,以便使用django表单进行选择。
有没有办法从在单独的模型中创建的图书的标题动态生成复选框的标签?
示例图书模型:
class Book(models.Model):
title = models.CharField(max_length=100)
.
.
.
pub_date = models.DateField()
租用表:
class RentalForm(forms.Form):
n
我刚接触过Django,遇到了一个奇怪的问题。使用Django 2.2.5,我创建了一个来自AbstractBaseUser的自定义用户类。除了扩展AbstractBaseUser之外,我所做的唯一主要更改是删除username字段并添加自己的字段(不会在这里讨论原因)。我也将USERNAME_FIELD = "my new username"添加到模型中。
这一切似乎都很好,我能够创建用户。然后,为了使用该功能,我安装了django-registration,当我尝试使用makemigrations时,我遇到了以下错误:
'django.core.exception
Django中有一个表单模块,内部有一个form类
from django import forms
class myform(forms.Form):
name = forms.CharField()
但如果我做了
from django.forms import Form
class myForm(Form):
name = ??
我的问题是,如果表单是模块表单中的类,那么我们将继承它。
在创建表单时,我们必须显式调用forms.charField()。
我有一个父类和一个继承的子类,我想知道如何访问父类中的子类变量。
我试过了,但失败了-
class Parent(object):
def __init__(self):
print x
class Child(Parent):
x = 1;
x = Child();
错误:-
NameError: global name 'x' is not defined
这个问题与Django表单有关,在Django表单中,我们继承了表单类并声明了一些类变量。
例如:
我的表单如下所示
from django import fo
我有很多到许多之间的关系,3种模式,即-用户,项目,和角色。用户可以在多个项目中扮演多个角色,甚至在同一个项目中。这种关系在Django中使用以下类建模:
class User(models.Model):
name = models.CharField()
class Project(models.Model):
name = models.CharField()
class Role(models.Model):
name = models.CharField()
class UsersProjects(models.Model):
user = models.For
我有一个Django表单,在这个表单中,我想从我的视图中使用查询中的动态选择列表。
以下是我要做的事:
views.py
getdata = MyModel.objects.filter(filter=filter)
form = MyForm(request.POST or None,
mylist=[( (getdata.id), (getdata.name) ) for choice in getdata]
当我运行时,我会得到'QuerySet' object has no attribute 'id'错误。
我知道我可
我有一个模型,我想只链接到一个网站。我将使用文档示例:
from django.db import models
from django.contrib.sites.models import Site
class Article(models.Model):
# ...
site = models.ForeignKey(Site)
但是在每个站点的管理中,所有的对象都会出现,而不管它们的站点设置如何。我想:
将管理变更列表数据集限制在站点是当前站点的实例中。
使用当前站点设置自动设置新表单(并可选择地隐藏它)。
让事情更复杂的是,这个模型也是一个admins