当通过json调用获取项目列表时,最好使用几个小调用(根据需要获取信息)或一个包含所有数据的大调用.
例如,您有一个json调用来获取与特定标题关键字匹配的书籍列表.有100个结果.您将以分页形式显示数据 - 每个"页面"10个结果.拨打一个电话并获得所有结果或在每个页面上拨打下一个10的电话会更有效吗?
我认为这部分取决于有多少结果.如果它是一个巨大的数字,第二个选项似乎很清楚.但是,对于一次通话中可以获得的数量有多少限制--100,1000,10000项?
是否可以在模板中的查询集上访问带注释的值?
例如,我有以下我传递给我的模板的查询集:
context[videos] = Videos.objects.annotate(view_count=Count(views)).order_by(view_count)[:100]
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我试图让视图计数如下:
{% for video in videos %}
{{ video.view_count }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
什么都没显示.
但是,如果我使用:
{{ video.views.count }}
Run Code Online (Sandbox Code Playgroud)
看起来很好 - 但我相信第二个选项会重新计算视图数量.我想使用带注释的值,因为它应该已经计算好了.
我有一个我要实例化的python类,__init__
定义有很多参数(10+).是否有一种干净的方式来实例化一个__init__
需要大量参数的类?
例如:
class A(object):
def __init__(self, param1, param2, param3,...param13):
// create an instance of A
my_a = new A(param1="foo", param2="bar", param3="hello"....)
Run Code Online (Sandbox Code Playgroud)
有更清洁的方法吗?喜欢传词或其他什么?或者更好,是否有预期的惯例?
我正在尝试做类似的事情:
在urls.py中:
...
url(r'^(?P<pk>\d+)/$', VideoDetailView.as_view(), name='video_detail', kwargs={'foo:''})
...
Run Code Online (Sandbox Code Playgroud)
在views.py中
..
HttpResponseRedirect(reverse('video_detail', kwargs={'pk': id, 'foo':'bar'}))
...
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.我得到一个带有参数'()'和关键字参数'{'pk':'13240L','foo':'bar}'的'video_detail'的反转.
但这确实有效:
....
HttpResponseRedirect(reverse('video_detail', kwargs={'pk': id}))
...
Run Code Online (Sandbox Code Playgroud)
即.从反向调用中移除foo:bar.这样做的正确方法是什么,并在反向URL中传递额外的参数?
我有这样的事情:
class Video(models.Model):
user = models.ForeignKey(User, related_name='owner')
...
Run Code Online (Sandbox Code Playgroud)
并且我正在尝试通过执行以下操作来访问特定用户拥有的所有视频:
u = User.objects.get(pk=1)
u.video_set.all()
Run Code Online (Sandbox Code Playgroud)
我收到错误'用户对象没有属性video_set'
难道我做错了什么?
django django-models django-authentication django-related-manager
什么是在Django/python中验证JSON数据的最佳方法.
是否最好创建一堆类,如Django FormMixin类,可以验证传入的数据/参数?
干嘛最好的方法是什么?我可以利用现有的应用程序吗?
我想接收JSON数据并对我的模型实例执行一些操作/更新.我所接受的数据不是用户生成的 - 即它们是id和标志(没有文本)所以我不想使用Forms.
我正在尝试将自定义upload_to函数传递给我的模型imageField,但我想将函数定义为模型函数....这可能吗?
class MyModel(models.Model):
...
image = models.ImageField(upload_to=self.get_image_path)
...
def get_image_path(self, filename):
...
return image_path
Run Code Online (Sandbox Code Playgroud)
现在我知道我不能用"自我"来引用它,因为那时自我不存在......有没有办法做到这一点?如果不是 - 定义该功能的最佳位置在哪里?
由于Django不处理过滤亵渎 - 有没有人有任何关于在django中实现某种自然语言处理/过滤亵渎的简单方法的建议?
我试图用djangos基于新类的通用视图来模拟这个并且无法解决这个问题:
urlpatterns = pattern('',
(r'^about/(\w+)/$', about_pages),
)
def about_pages(request, page):
return direct_to_template(request, template="about/%s.html" % page)
Run Code Online (Sandbox Code Playgroud)
对于基于类的视图,这是不可能的吗?你必须覆盖as_view()吗?如果是这样,你怎么做?
有没有一种有效的方法可以使用python从这些数据中删除重复的'person_id'字段?在这种情况下,只需保留第一次出现.
{
{obj_id: 123,
location: {
x: 123,
y: 323,
},
{obj_id: 13,
location: {
x: 23,
y: 333,
},
{obj_id: 123,
location: {
x: 122,
y: 133,
},
}
Run Code Online (Sandbox Code Playgroud)
应该成为:
{
{obj_id: 123,
location: {
x: 123,
y: 323,
},
{obj_id: 13,
location: {
x: 23,
y: 333,
},
}
Run Code Online (Sandbox Code Playgroud) django ×7
python ×4
django-views ×2
json ×2
ajax ×1
django-forms ×1
django-urls ×1
getjson ×1
nlp ×1
performance ×1