自动设置对象的创建日期的最佳方法是什么,以及将在上次更新对象时记录的字段?
在我的模型中,我有:
created_at = models.DateTimeField(False, True, editable=False)
updated_at = models.DateTimeField(True, True, editable=False)
Run Code Online (Sandbox Code Playgroud)
在我看来:
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
obj.save()
return HttpResponseRedirect('obj_list')
Run Code Online (Sandbox Code Playgroud)
我收到错误:
objects_object.created_at may not be NULL
Run Code Online (Sandbox Code Playgroud)
我是否必须自己手动设置此值?我认为这是传递给DateTimeFields的参数点(或者它们只是默认值,因为我设置'editable = False'它们不会显示在表单上,因此不会在请求中提交,因此不要进入表格?).
这样做的最佳方法是什么?一个init方法?
谢谢
ps - 我是django和Python的新手......
我希望能够将某些配置信息放在我的settings.py文件中 - 例如站点名称,站点URL等.
如果我这样做,我怎么才能在模板中访问这些设置?
谢谢
我想在保存特定模型后向管理员显示一条消息,例如"现在启用该系列".
如果它是一个列表操作(message_user),我可以看到我如何做到这一点,但我无法从主CRUD表单中看到如何做到这一点.
有谁知道怎么样?
谢谢
我正在尝试在django中设置一个选择字段,但我不认为这是一个django问题.选择字段采用2元组的可迭代(例如,列表或元组)作为该字段的选择.
这是我的代码:
self.fields['question_' + question.id] = forms.ChoiceField(
label=question.label,
help_text=question.description,
required=question.answer_set.required,
choices=[("fe", "a feat"), ("faaa", "sfwerwer")])
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我总是得到以下错误:
TypeError - cannot concatenate 'str' and 'long' objects
Run Code Online (Sandbox Code Playgroud)
最后一行始终突出显示.
我不是想连接任何东西.几乎不管我将列表更改为'choices'参数,我都会收到此错误.
这是怎么回事?
我有以下Django 1.2模型:
class Category(models.Model):
name = models.CharField(max_length=255)
class Article(models.Model):
title = models.CharField(max_length=10, unique=True)
categories = models.ManyToManyField(Category)
class Preference(models.Model):
title = models.CharField(max_length=10, unique=True)
categories = models.ManyToManyField(Category)
Run Code Online (Sandbox Code Playgroud)
如何执行一个查询,该查询将为我提供与给定Preference对象相关的任何相同类别相关联的所有Article对象?
例如,如果我有一个与"鱼","猫"和"狗"类别相关的偏好对象,我想要一个与"鱼","猫"或"狗"相关的所有文章的列表.
我想用django的身份验证执行以下操作:
我认为自定义auth后端将是解决方案.
我可以完成我想要的大部分工作,但我想记录进行尝试的用户的IP和REMOTE_HOST.
如何在auth后端访问请求对象?
谢谢
我发现了两个我喜欢的jQuery图表插件 - flot和jqPlot.我正在考虑在我的网站的前端使用其中一个.
但是,我还需要能够允许用户以PDF格式导出数据.我理想地寻找纯Python解决方案,但可以推送到Java或PHP.生成的图表的质量是最重要的因素.
我考虑的选项是:
这样做的最佳方式是什么?如果我能让Rhino解决方案发挥作用,那就更好了,因为它保持了前端和生成的PDF之间的一致性.
我有一个编辑表单,我使用Jquery Tools显示为叠加层.
在我的对象列表视图页面上,每个对象都有<a href="#" class="edit_button">Edit</a>.所有这些都附加到相同的叠加形式:
$(".edit_button[rel]").overlay({ top: '5px',
fixed: false,
mask: {
color: '#ebecff',
loadSpeed: 200,
opacity: 0.9
}
});
Run Code Online (Sandbox Code Playgroud)
编辑表单叠加层包含一个取消按钮:
<a href="#" class="cancel">Cancel</a>
Run Code Online (Sandbox Code Playgroud)
如何使此取消按钮关闭叠加?似乎我可以访问Overlay API对象的唯一方法是使用创建它的选择器 - 在这种情况下,$('.edit').each()因为我不知道哪一个触发了叠加层.
我真正想要做的是:
$('.cancel').click(function(e){
var target = e.originalTarget || e.srcElement;
$(target).parent().parent().getOverlay().close();
});
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
有没有办法我可以关闭叠加而不做:
$(".edit_button[rel]").each(function() {
$(this).overlay().close();
});
Run Code Online (Sandbox Code Playgroud)
?