Tag: django

筛选查询集中的空名称或空名称

我有first_name,last_name&别名(可选),我需要search。 所以,我需要一个查询来给我所有的名称有一个别名集。 只有我能做到: Name.objects.filter(alias!="") 那么,什么是上面的等效?

Django的JSONField里面ArrayField

我有一个问题插入到使用ArrayField与JSONField里面的字段。 models.py locations = ArrayField(JSONField(null = True,blank = True), blank=True, null = True) 插 location_arr = [{"locations" : "loc1","amount":Decimal(100.00)},{"locations" : "loc2","amount":Decimal(200.25)}] instance.locations = location_arr instance.save() 当我这样做,我得到了 列“位置”的types是jsonb [],但expression式的types是text [] LINE 1:… d“= 2517,”locations“= ARRAY ['{”loc … 提示:您将需要重写或转换expression式。 所以我试图转储它使用: import json location_arr = [{"locations" : "loc1","amount":Decimal(100.00)},{"locations" : "loc2","amount":Decimal(200.25)}] instance.locations = json.dumps(location_arr) instance.save() 然后我得到了这个 LINE 1:… d“= […]

与WSGIDaemonProcess的django apacheconfiguration不工作

更新了问题 [Mon Jul 18 09:20:10.517873 2016] [:error] [pid 30316:tid 139756302964480] [remote 122.164.94.99:48261] Traceback (most recent call last): [Mon Jul 18 09:20:10.518005 2016] [:error] [pid 30316:tid 139756302964480] [remote 122.164.94.99:48261] File "/var/www/rent/Rent/wsgi.py", line 20, in <module> [Mon Jul 18 09:20:10.518141 2016] [:error] [pid 30316:tid 139756302964480] [remote 122.164.94.99:48261] from django.core.wsgi import get_wsgi_application [Mon Jul 18 09:20:10.518236 2016] [:error] […]

Django – CSRFvalidation失败

试图通过教程制作一个简单的表单时,我收到CSRFvalidation失败的消息。 我对CSRFvalidation的实际内容做了一点研究,据我所知,为了使用它,你需要在你的html中有一个csrf_token标记,但是我没有 这是我的模板: <form action="/testapp1/contact/" method="post"> {{ form.as_p }} <input type="submit" value="Submit" /> </form> 相当简单,位于contact.html 这里是我的urlconf:从django.conf.urls.defaultsimport* urlpatterns=patterns('testapp1.views', (r'^$', 'index'), (r'^contact/$','contact') ) 应用程序名称是testapp1。 当我input我的url(http:// localhost:8000 / testapp1 / contact)时,我正确地转到表单。 然后当我提交表单时,我得到validation错误。 这是我的看法,虽然我不认为它是相关的: def contact(request): if request.method == 'POST': # If the form has been submitted… form = ContactForm(request.POST) # A form bound to the POST data if […]

Django模板不能循环defaultdict

import collections data = [ {'firstname': 'John', 'lastname': 'Smith'}, {'firstname': 'Samantha', 'lastname': 'Smith'}, {'firstname': 'shawn', 'lastname': 'Spencer'}, ] new_data = collections.defaultdict(list) for d in data: new_data[d['lastname']].append(d['firstname']) print new_data 这是输出: defaultdict(<type 'list'>, {'Smith': ['John', 'Samantha'], 'Spencer': ['shawn']}) 这里是模板: {% for lastname, firstname in data.items %} <h1> {{ lastname }} </h1> <p> {{ firstname|join:", " }} </p> […]

如何比较Django中的date

我想比较一个date到Django中的当前date,最好在模板中,但也可以在呈现模板之前做。 如果date已经过去,我想说“过去”,而如果是将来,我想给出date。 我希望能做到这样的事情: {% if listing.date <= now %} In the past {% else %} {{ listing.date|date:"d MY" }} {% endif %} 现在是今天的date,但这是行不通的。 在Django文档中我找不到任何关于此的信息。 任何人都可以给一些build议?

按属性过滤

是否有可能按属性过滤? 我在我的模型中有一个方法: @property def myproperty(self): [..] 现在我想过滤这个属性,如: MyModel.objects.filter(myproperty=[..]) 这是不是有可能?

Django返回redirect()与参数

在我的视图函数中,我想调用另一个视图并将数据传递给它: return redirect('some-view-name', backend, form.cleaned_data) ,其中后端是registration.backends对象,而form.cleaned_data是表单数据的字典(但是两者都必须作为* args或** kwargs发送,以防止引发Don't mix *args and **kwargs in call to reverse()!错误)。 从我在文档中find的内容: def my_view(request): … return redirect('some-view-name', foo='bar') 它看起来像我需要提供'some-view-name'参数,但它只是视图函数的名称,或url的名称? 所以我想使它与django-registration中的方式类似,其中: to, args, kwargs = backend.post_registration_redirect(request, new_user) return redirect(to, *args, **kwargs) def post_registration_redirect(self, request, user): return ('registration_complete', (), {}) 好,那么现在,我可以直接调用我的视图function,或者我需要提供一个URL吗? 更重要的是,我的funciotn如何调用(以及需要的url)应该是什么样子? 后端和cleared_data都只是通过这个视图以备后用。 我已经试过了,但是不合适: url(r'^link/$', some-view-name) def some-view-name(request, *args): 以及这个: return redirect('some_url', […]

以Django的forms获取请求数据

是否有可能得到request.user数据在表单类? 我想清理一个电子邮件地址,以确保它是唯一的,但如果它是当前用户的电子邮件地址,那么它应该通过。 这是我目前拥有的创build新用户的好工具,但是如果我想编辑一个用户,我会遇到他们的邮件无法validation的问题,因为它已经被使用了。 如果我可以使用request.user.email检查它是否是他们的电子邮件,那么我将能够解决我的问题,但我不知道如何做到这一点。 class editUserForm(forms.Form): email_address = forms.EmailField(widget=forms.TextInput(attrs={'class':'required'})) def clean_email_address(self): this_email = self.cleaned_data['email_address'] test = UserProfiles.objects.filter(email = this_email) if len(test)>0: raise ValidationError("A user with that email already exists.") else: return this_email

在Django中链接多个filter(),这是一个错误?

我总是认为在Django中链接多个filter()调用总是和在一次调用中收集它们一样。 # Equivalent Model.objects.filter(foo=1).filter(bar=2) Model.objects.filter(foo=1,bar=2) 但我已经在我的代码中运行了一个复杂的查询集,但事实并非如此 class Inventory(models.Model): book = models.ForeignKey(Book) class Profile(models.Model): user = models.OneToOneField(auth.models.User) vacation = models.BooleanField() country = models.CharField(max_length=30) # Not Equivalent! Book.objects.filter(inventory__user__profile__vacation=False).filter(inventory__user__profile__country='BR') Book.objects.filter(inventory__user__profile__vacation=False, inventory__user__profile__country='BR') 生成的SQL是 SELECT "library_book"."id", "library_book"."asin", "library_book"."added", "library_book"."updated" FROM "library_book" INNER JOIN "library_inventory" ON ("library_book"."id" = "library_inventory"."book_id") INNER JOIN "auth_user" ON ("library_inventory"."user_id" = "auth_user"."id") INNER JOIN "library_profile" ON ("auth_user"."id" […]