小编siz*_*ght的帖子

如何循环表单字段选项并显示关联的模型实例字段

我有一个带有多选字段的ModelForm.选项是属于特定俱乐部的远足者的填充实例.

我想通过在第1列包含复选框的表格中显示选项来自定义表单显示的方式,还有一些列显示每个hiker的详细信息.例如,列是(checboxes,名称,年龄,最喜欢的远足径).

我不知道如何处理这个问题.如何使用模板中的关联模型实例字段访问和显示表单字段选项.有人知道Django这样做的方法吗?

#models.py
class Club(models.Model):
    title = models.CharField()
    hikers = models.ManyToManyField(Hikers)

class Hiker(models.Model):
    name = models.CharField()
    age = models.PositiveIntegerField()
    favourite_trail = models.CharField()

#forms.py
class ClubForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        club_pk = kwargs['club_pk']
        del kwargs['club_pk']
        super(ClubForm, self).__init__(*args, **kwargs)
        choices = [(ts.pk, ts.name) for hiker in Club.objects.filter(pk=club_pk)]
        self.fields['hikers'].choices = choices

    class Meta:
        model = Club
        fields = ('hikers',)
        widgets = {'hikers': forms.CheckboxSelectMultiple}
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-forms

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

PostgreSQL数据库可以有多少个表限制?

我在PostgreSQL中创建了一个数据库,我们称之为testdb.

我在这个数据库中有一组通用的表,xxx_table_one,xxx_table_twoxxx_table_three.

现在,我有Python代码,我希望动态创建并删除这3个表的"集合"到我的数据库,表名中的唯一标识符区分不同的"集合",例如

设置1
testdb.aaa_table_one
testdb.aaa_table_two
testdb.aaa_table_three

设置2
testdb.bbb_table_one
testdb.bbb_table_two
testdb.bbb_table_three

我想这样做的原因是保持相关数据的多个LARGE数据集合彼此分离.我需要定期覆盖单个数据集合,如果我们可以删除数据集合表并重新创建一组完整的新表,这很容易.另外,我必须提到,不同的数据集合适用于相同的模式,因此我可以使用标识符将所有数据集合保存在一组表中,以区分数据集合,而不是使用不同的表格将它们分开.

我想知道一些事情

  1. PostgreSQL是否限制每个数据库的表数?
  2. 如果有的话,在1个数据库中拥有大量表格会对性能产生什么影响?
  3. 与在同一组中保存数据集合相比,在不同的表集合中保存数据集合的性能会有什么影响,例如,如果我想在数据传播时一次查询多个数据集合,我想需要编写更多查询与仅有一组表格相比,跨表格.

python mysql database postgresql database-design

8
推荐指数
1
解决办法
4258
查看次数

使用PHP API或Javascript在网页上显示最新推文会更好吗?

我想在网页上显示用户的最新推文,同时保持使用自定义CSS设置推文样式的能力,同时保持良好的页面加载速度.

我已经设法以两种方式显示最新的推文.

  1. 使用PHP Twitter库(由Aaron Brazell提供).通过使用此方法,我的PHP代码必须等待来自Twitter的响应才能完成我的页面并将其发送到客户端.这可能导致页面加载时间非常不可预测,并且可能会使页面加载速度减慢到足以让用户烦恼.

  2. 使用Blogger Twitter Widget,在页面的其余部分加载后,使用JavaScript加载最新的推文.这样,用户无需等待Twitter响应即可查看该页面.

我想知道是否有任何其他专业人士和骗子使用这些不同的方法来显示用户的最新推文,如果还有其他解决方案,我可以研究哪些可以实现自定义CSS样式并提供良好的页面加载性能?

此外,这两种方法如何影响Twitter应用速率限制的方式?使用PHP我可以缓存推文,从而减少对Twitter的调用,而使用JavaScript这是不可能的,据我所知?

javascript php twitter performance pageload

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

如何使用逗号打印数字作为Python/Django中的千位分隔符和小数位

我正试图在我的Django模板中显示数字

  1. 逗号为千分隔符和
  2. 指定要舍入的小数位数.

例如76384.8739439 - > 76,384.87

Django有模板标签来实现这两个目标.

  • intcomma - 千分隔符和
  • floatformat - 用于小数位

我似乎无法在不编写自己的自定义模板过滤器的情况下同时找到两种方法.有人知道更简单的解决方案吗?

python django number-formatting

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

从1个数据帧中的多个时间序列的开始和结束中有效地删除缺失值

使用R,我试图从包含多个时间序列的数据帧的开头和结尾修剪NA值.我已经使用for循环和zoo包实现了我的目标,但正如预期的那样,它在大数据帧上效率极低.

我的数据框看起来像这样,包含3列,每个时间序列由它的唯一ID标识.在这种情况下,AAA,B和CCC.

id   date          value
AAA  2010/01/01    NA
AAA  2010/02/01    34
AAA  2010/03/01    35
AAA  2010/04/01    30
AAA  2010/05/01    NA
AAA  2010/06/01    28
B    2010/01/01    NA
B    2010/02/01    0
B    2010/03/01    1
B    2010/04/01    2
B    2010/05/01    3
B    2010/06/01    NA
B    2010/07/01    NA
B    2010/07/01    NA
CCC  2010/01/01    0
CCC  2010/02/01    400
CCC  2010/03/01    300
CCC  2010/04/01    200
CCC  2010/05/01    NA
Run Code Online (Sandbox Code Playgroud)

我想知道,如何有效地从每个时间序列的开始和结束中删除NA值,在本例中为AAA,B和CCC.所以看起来应该是这样的.

id   date          value
AAA  2010/02/01    34
AAA  2010/03/01    35
AAA  2010/04/01    30
AAA  2010/05/01    NA
AAA  2010/06/01 …
Run Code Online (Sandbox Code Playgroud)

r time-series dataframe zoo data.table

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

Django:如何重定向到表单来源的页面

在我的Django应用程序中,我有多个页面显示一个链接,该链接加载显示表单的新页面.提交表单时,重定向到访问此表单的原始页面的最简洁方法是什么?

始发页面 - >表单页面 - >始发页面

使用下一个变量似乎是unellegant,因为我必须在原始页面链接上将其设置为GET变量,然后在表单中将其设置为隐藏的POST变量?任何其他想法将不胜感激.

python django

4
推荐指数
2
解决办法
2374
查看次数

从数据框中仅删除零值的时间序列

我有一个数据框,其中包含由uniquer id识别的多个时间序列.我想删除任何只有0值的时间序列.

数据框如下所示,

id   date          value
AAA  2010/01/01    9
AAA  2010/01/02    10
AAA  2010/01/03    8
AAA  2010/01/04    4
AAA  2010/01/05    12
B    2010/01/01    0
B    2010/01/02    0
B    2010/01/03    0
B    2010/01/04    0
B    2010/01/05    0
CCC  2010/01/01    45
CCC  2010/01/02    46
CCC  2010/01/03    0
CCC  2010/01/04    0
CCC  2010/01/05    40
Run Code Online (Sandbox Code Playgroud)

我想要删除任何只有0值的时间序列,以便数据框看起来如下,

id   date          value
AAA  2010/01/01    9
AAA  2010/01/02    10
AAA  2010/01/03    8
AAA  2010/01/04    4
AAA  2010/01/05    12
CCC  2010/01/01    45
CCC  2010/01/02    46
CCC  2010/01/03    0
CCC …
Run Code Online (Sandbox Code Playgroud)

r time-series dataframe data.table

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