小编phi*_*o20的帖子

如何在Django中一次向ManyToMany关系添加多个对象?

基于Django文档,我应该能够一次传递多个对象以添加到一个多人关系但我得到一个

* TypeError:不可用类型:'list'

当我尝试传递一个列表中的django查询集.传递Queryset或ValuesListQueryset似乎也失败了.有没有比使用for循环更好的方法?

django list manytomanyfield

160
推荐指数
3
解决办法
7万
查看次数

如何限制Django查询返回的列?

这似乎很简单,但所有Django查询似乎都是'SELECT*'

如何构建仅返回字段子集的查询?

django orm

62
推荐指数
2
解决办法
3万
查看次数

使用Django上传表单清空Request.FILES

尝试使用非常简单的表单将文件上载到新的类实例中.我希望有两个文件,request.FILES但它是空的.我在捆绑的开发服务器上.

被困在这里并经历了所有相关问题.

wayfinder_map.media_file = request.FILES['media_file'] 
Run Code Online (Sandbox Code Playgroud)

生成

MultiValueDictKeyError:"在MultiValueDict中找不到键'media_file':{}>"

模型

class WayfinderMap(models.Model):
    """ Way-finding Map Config"""


    media_file = models.FileField(upload_to="maps", null=True, blank=True) 
    wall_file = models.FileField(upload_to="maps_data", null=True, blank=True) 
Run Code Online (Sandbox Code Playgroud)

视图

@login_required
def create_map(request, form_class=WayfinderMapForm, template_name="wayfinder/map/create.html"):
wayfinder_map_form = form_class(request.user, request.POST or None, request.FILES)

    if wayfinder_map_form.is_valid():
        wayfinder_map = wayfinder_map_form.save(commit=False)
        wayfinder_map.media_file = request.FILES['media_file']
        wayfinder_map.data_file = request.FILES['data_file']
        wayfinder_map.creator = request.user
        wayfinder_map.save()
    return HttpResponseRedirect(wayfinder_map.get_absolute_url())

return render_to_response(template_name, {
    "wayfinder_map_form": wayfinder_map_form,
}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

模板

<form enctype="multipart/form-data" class="uniForm" id="wayfinder_map_form" method="POST" action="">
        <fieldset class="inlineLabels">
            {{ wayfinder_map_form|as_uni_form }}
            <div class="form_block">
                <input type="hidden" name="action" …
Run Code Online (Sandbox Code Playgroud)

django django-forms

43
推荐指数
2
解决办法
3万
查看次数

如何动态访问Django Model字段详细名称?

我想访问一个我的模型字段verbose_name.

我可以通过像这样的现场指示得到它

model._meta._fields()[2].verbose_name
Run Code Online (Sandbox Code Playgroud)

但我需要动态地得到它.理想情况下,它会是这样的

model._meta._fields()['location_x'].verbose_name
Run Code Online (Sandbox Code Playgroud)

我看了几件事,但我找不到它.

django field get

31
推荐指数
6
解决办法
2万
查看次数

用于Python内容分类的Orange与NLTK

我们需要一个内容分类模块.贝叶斯分类器似乎是我正在寻找的.我们应该选择Orange还是NLTK?

python machine-learning nltk orange naivebayes

10
推荐指数
1
解决办法
3561
查看次数

应用程序不会在Django管理员中显示

我已经阅读了所有其他线程,但我仍然不知道为什么我的应用程序没有出现在Django管理员中.其他一切都很好.

我的应用是在settings.py中

我在root urls.py文件中有admin.autodiscover

from django.conf.urls.defaults import *
from django.conf import settings

from django.views.generic.simple import direct_to_template

from django.contrib import admin

admin.autodiscover()



urlpatterns = patterns('',
url(r'^$', direct_to_template, {
    "template": "homepage.html",
}, name="home"),

url(r'^admin/invite_user/$', 'signup_codes.views.admin_invite_user', name="admin_invite_user"),
url(r'^account/signup/$', "signup_codes.views.signup", name="acct_signup"),

(r'^account/', include('account.urls')),
(r'^profiles/', include('basic_profiles.urls')),
(r'^notices/', include('notification.urls')),
(r'^announcements/', include('announcements.urls')),
(r'^tagging_utils/', include('tagging_utils.urls')),
(r'^attachments/', include('attachments.urls')),
(r'^comments/', include('threadedcomments.urls')),
#
(r'^wayfinder/', include('wayfinder.urls')),
(r'^site/', include('jsite.urls')),
(r'^kiosk/', include('kiosk.urls')),
(r'^navigator/', include('navigator.urls')),
(r'^location/', include('location.urls')),
(r'^event/', include('event.urls')),
#(r'^news_reader/', include('news_reader.urls')),
#(r'^weather_reader/', include('weather_reader.urls')),

(r'^admin/(.*)', admin.site.root),
)

if settings.SERVE_MEDIA:
urlpatterns += patterns('',
    (r'^site_media/', include('staticfiles.urls')),
)
Run Code Online (Sandbox Code Playgroud)

我的所有应用都有一个包含类似内容的admin.py文件 …

python django django-admin pinax

7
推荐指数
3
解决办法
1万
查看次数

检查对象是否是Django中ManyToMany关系的一部分的最佳做法是什么

从具有ManyToMany关系的站点实例到Kiosk,我想检查Kiosk对象是否是关系的一部分.

我可以

self.apps.get(id=app_id).exists() and check if True
Run Code Online (Sandbox Code Playgroud)

要么

self.apps.get(id=app_id) and catch the ObjectDoesNotExist error
Run Code Online (Sandbox Code Playgroud)

要么

self.apps.filter(id=app_id) and check if True
Run Code Online (Sandbox Code Playgroud)
  • 如果我必须捕获可能的ObjectDoesNotExist错误,我也可以使用第二个错误
  • 我可以做第二个,但似乎超级干净
  • 可以使用第三个,但在唯一ID上使用过滤器似乎对我不对

你可以告诉我使用任何有用的东西,这将是一个有效的答案;-)

django orm

5
推荐指数
1
解决办法
4002
查看次数

尝试在Django中使用Content_type自然键加载灯具时输入错误

我将我的一个模型转储到一个灯具时使用--natural选项,这样在部署时我不会遇到Content_typ ID问题.结果在这里:

{
     "pk": 1, 
     "model": "seo.opportunitymetadatamodel", 
     "fields": {
         "_content_type": [
              "opportunity", 
              "jobopportunity"
         ], 
         "og_description": "", 
         "description": "", 
         "title": "test", 
         "keywords": "", 
         "og_title": "", 
         "heading": ""
     }
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试加载夹具时,我收到以下错误:

Problem installing fixture 'seo/fixtures/initial_data.json': Traceback (most recent call last):
  File "/Users/xx/dev/envs/xx/lib/python2.6/site-packages/django/core/management/commands/loaddata.py", line 167, in handle
    for obj in objects:
  File "/Users/xx/dev/envs/xx/lib/python2.6/site-packages/django/core/serializers/json.py", line 38, in Deserializer
    for obj in PythonDeserializer(simplejson.load(stream), **options):
  File "/Users/xx/dev/envs/xx/lib/python2.6/site-packages/django/core/serializers/python.py", line 84, in Deserializer
    Model = _get_model(d["model"])
TypeError: string indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)

好像该方法不接受要加载的字符串.我错过了什么?

python django fixtures

5
推荐指数
1
解决办法
1607
查看次数

python中的动态变量名

我想调用带有字段名称过滤器的查询,在运行时我不知道...不确定如何构造变量名称......或者我可能已经累了.

field_name = funct()
locations = Locations.objects.filter(field_name__lte=arg1)
Run Code Online (Sandbox Code Playgroud)

如果funct()返回name将等于

locations = Locations.objects.filter(name__lte=arg1)
Run Code Online (Sandbox Code Playgroud)

不知道该怎么做......

python django

4
推荐指数
1
解决办法
2366
查看次数

Django SelectMultiple Widget的动态选择

我正在构建一个表单(不是modelForm),我想使用SelectMultiple Widget根据在表单初始化期间完成的查询来显示选项.

我可以想到一些方法来做到这一点,但我并不清楚正确的做法.我看到了不同的选择.

我得到了"选择",我应该在表单init中传递给窗口小部件,但我不确定我应该如何传递它们.

class NavigatorExportForm(forms.Form):

def __init__(self,user, app_id, *args,**kwargs):
    super (NavigatorExportForm,self ).__init__(*args,**kwargs) # populates the form
    language_choices = Navigator.admin_objects.get(id=app_id).languages.all().values_list('language', flat=True)

languages = forms.CharField(max_length=2, widget=forms.SelectMultiple(choices=???language_choices))
Run Code Online (Sandbox Code Playgroud)

forms django widget

4
推荐指数
1
解决办法
2688
查看次数