我有一个名为Note
的模型:
class Note(models.Model):
name = models.CharField(max_length=200)
description = models.TextField()
def save(self, force_insert=False, force_update=False):
from notes.tasks import build_htaccess
super(Note, self).save(force_insert, force_update)
build_htaccess.delay(self.id) # celery tasks
我有一个像这样的模型形式:
from django import forms
from notes.models import Note
class AddNoteForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = Note
我不想将password
值存储在数据库中,因为我重写了save方法以通过subprocess
创建htaccess密码,但我似乎无法访问表单cleaning_data将模型中的密码值保存到保存覆盖中。有关如何做到这一点的任何建议?
答案 0 :(得分:2)
这对我提出的问题是,如果你没有将字段值存储在数据库中,为什么要将它包含在模型中呢?
我无法在这里描绘您的精确游戏结果,但在类似于您所描述的情况下我可能会做的是在模板中手动创建密码字段。然后,我可以使用以下内容中的某些内容从我视图中的request.POST
数据中获取字段的值:
if request.method == 'POST':
[...]
if myPassHandler(request.POST['password']):
# password is valid
[...]
else:
# bad password
[...]
myPassHandler
返回True或False。希望这会有所帮助。