我的models.py如下所示:
class Member(models.Model):
name = models.CharField(max_length=255)
occupation = models.CharField(max_length=255)
class FamilyMember(models.Model):
name = models.CharField(max_length=255)
relation = models.CharField(max_length=255)
member = models.ForeignKey(Mem
如何使用特定的ModelForm作为我的modelformset_factory的表单?
我正在使用django- form - BetterModelForm来创建一个表单,并且我希望使用相同的表单作为我的表单集的基础。我认为我可以编写自己的自定义工厂来扩展formset,但我猜还有一种更简单的方法
用户需要在django admin之外创建一个新实例,方法是填写由modelformset_factory创建的表单。问题是我不知道如何将request.user传递给表单,所以保存表单时created_by字段是无效的。
models.py:
from django.db import models
from django.contrib.auth.models import User
class ezApp(models.Model):
name = models.SlugField(max_length=50, unique=True )
date_created =
对Django ModelFormset的验证/清理部分进行单元测试的最佳方式是什么?我的表单集有一个干净的方法,它根据表单的值执行一些验证,我想对它进行单元测试。泛化的代码如下所示:
class AForm(ModelForm):
a = ChoiceField(choices=CHOICES)
b = FloatField()
def __init__(self, *args, **kwargs):
super(AForm, self).__init__(*args, **kwargs)
class Meta:
model =
我正在创建一个允许匿名输入数据的应用程序,并将我的困难压缩为一个简单的作者示例。
我的问题是,每次我输入一个新的作者时,N+1 author会增加提交后呈现的表单数量。(即第一次使用时,有一个表单,然后是2,然后是3)。我只希望显示一个空白表单,然后稍后将使用其他应用程序来检索数据。
似乎有两种方法可以解决这个问题。1)让formset.management_form返回最后一个表单(例如切片:'{% for form in formset-1%}‘,这不起作用。2)让view.py只发送一个新表单,而不是render_to_response()中的表单集-如何做到这一点?
-mode
我正在向Django ModelForm中添加一个额外的字段,如下所示:
class form(forms.ModelForm):
extra_field = forms.CharField(label='Name of Institution')
class Meta:
model = db_institutionInstitution
fields = ['conn_kind','time','inst_name2']
该表单实际上运行良好,但我不能预先填充它。我在modelfo
默认情况下,使用窗体集显示Django自动字段是隐藏的。最好的表现方式是什么?
目前,这个模型被宣布为,
class MyModel:
locid = models.AutoField(primary_key=True)
...
当使用Django窗体集呈现时,
class MyModelForm(ModelForm):
class Meta:
model = MyModel
fields = ('locid', 'name')
它会出现在页面上,
<input id="id_form-0-locid" ty
我得到了错误消息,在赋值之前引用的UnboundLocalError局部变量‘假设’(在行的后面:)。考虑到假设是一个模型并被导入到views.py中,我想知道这是怎么可能的。任何如何解决这个问题的建议都将不胜感激。此外,我还试图基于假设模型创建多个表单,并将它们保存到数据库模型假设中。请告知此代码是否为正确的设计模式。谢谢。
views.py
from django.shortcuts import render
from .forms import modelformset_factory, AssumptionsForm
from .models import Assumptions
我有一个带有关系模型的ManyToMany字段。我想要一个在其中一个键上过滤的表单集,它为每个其他键显示一个表单。
我的猜测是关系模型上的自定义管理器是解决这个问题的关键。当数据库中没有实际实例时,管理器将返回用适当的ForeignKey初始化的“幻象”实例。我只是不知道如何让管理器添加“幻影”实例,而它似乎是为了过滤现有实例而设计的。
我希望一个例子抵得上1K个单词。
例如,我希望我的用户能够对专辑进行评级。我想通过选定的乐队为所有专辑显示一个表单集。示例模型和视图
from django.contrib.auth.models import User
from django.db impo
我有一个想要在表单中以CheckboxSelectMultiple小部件的形式呈现的ManyToManyField。为什么这些方法都不起作用呢?(请参阅下面的尝试#1、#2和#3。)根据我在文档中读到的所有内容,它们中至少有一个应该可以工作。但是我仍然有一个顽固的SelectMultiple小部件,它拒绝让步。
from django.forms.widgets import CheckboxSelectMultiple
from django.db import models
from django import forms
KEYWORD_CHOICES = (('sky
我遇到了这样的问题:代码将request.POST‘’name‘值保存到数据库中的assumptions.Name字段,但只保存列表中的最后一个值,在本例中是'B’。我如何使它保存两个前缀'A‘和'B’到数据库字段名根据各自的表单。当我调试时,我会看到“A”和“B”都有键'name‘。
views.py
from django.shortcuts import render
from .forms import modelformset_factory, AssumptionsForm
from .models import Assumptions
from d
我有一个视图,显示一个表单,可以用提交按钮保存。我不想在表单提交时重新加载视图。但是,如果函数没有返回响应,我就会出错。
view.py
from django.shortcuts import render_to_response
from ezmapping.models import *
from django.forms.models import modelformset_factory
def setAppOptions(request, map_name):
if request.user.is_authenticated():
app_selected
我使用modelformset_factory创建一个空表单,但我不知道如何在视图中使用request.user填充created_by字段。我知道可以使用models.Manager来处理created_by的默认值,但我更喜欢用当前登录的用户直接在视图中填充它。我不关心管理界面。
这是我的models.py:
from django.db import models
from django.forms import ModelForm
from django.contrib.auth.models import User
import datetime
class ezApp(model
我在Django中使用一个modelformset_factory来让用户填写一个未知数目的字段。
我已经完成了所需的字段,但是在HTML中,Django没有将required添加到HTML元素中,环顾在线似乎是一个常见的问题,但我没有看到任何适用于我想要的内容的有效答案,我觉得这应该很简单。
如何使Django将必需的标记添加到Formset的适当HTML元素中?
class ItemForm(forms.ModelForm):
class Media:
js = (formset_js_path,)
class Meta:
model =
我希望能够在modelformset_factory中使用自定义表单。例如:
models.py
class Author(models.Model):
name = models.CharField()
address = models.CharField()
class AuthorForm(ModelForm):
class Meta:
model = Author
views.py
def test_render(request):
myModelFormset = modelformset_factory(Author)
ite
我有一个非常简单的Django杂货列表应用程序,我正在使用它来学习框架,我使用一个模型集来显示/编辑/添加列表中的项目。我遇到的问题是,当我试图对表单集发布更改时,它会失败.is_valid()条件。formset.errors响应是[{' id ':‘这个字段是必需的。’},{}],但是所有的文档/web都说不要弄乱自动生成的ID字段,所以我不确定它为什么不工作/为什么不生成ID字段。
models.py
from django.db import models
# Create your models here.
class Grocery(models.Model):
当用户在表单中保存数据时,我想使用unique_together选项,而不是使用django管理员。
models.py:
from django.db import models
from django.contrib.auth.models import User
class ezApp(models.Model):
name = models.SlugField(max_length=50, unique=True )
date_created = models.DateTimeField('date created', auto_now_add=Tru
我试图复制一个表单,并让它使用模型集只显示两个字段。当我运行代码时,django返回数据库中的所有记录和请求的两个空字段。如何省略现有记录,每次只返回空表单。
#视图
def create_player_view(request):
""""
allows users to name to
players competing vs one another
"""
PlayersFormSet = modelformset_factory(Players, fields=["