小编Obv*_*Cat的帖子

Django-tastypie一对多的关系

我正在尝试创建一个具有0到无限注释的资源(观察).我遇到了以下错误:

"error": "The model '<Observation: Observation object>' has an empty attribute 'comments' and doesn't allow a null value."
Run Code Online (Sandbox Code Playgroud)

此外,将null = True添加到comments =(...)将导致空注释对象,即使应该有相关观察的注释.

我也尝试通过将其更改为完整路径来搞乱CommentResource2路径.

我一直在关注Tastypie文档中的反向关系指南:

扭转"关系"

这是我的模特:

class Observation(ObsModel):
    taxon_node = models.ForeignKey(TaxonNode, related_name = 'observation_taxon_node', null = True)
    substrate = models.ForeignKey(TaxonNode, related_name = 'observation_substrate', null = True, blank=True)
    source = models.CharField(max_length=255, blank=True)
    sample = models.ForeignKey(Sample)
    remarks = models.TextField(blank = True)
    exact_time = models.DateTimeField(null=True)
    individual_count = models.IntegerField(null = True)
    is_verified = models.NullBooleanField(null = True)
    verified_by = models.ForeignKey(User, null = True)
    verified_time = …
Run Code Online (Sandbox Code Playgroud)

django django-models tastypie

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

当将元素的绝对高度调整为window时,iOS Safari iFrame的内容高度会不断增加。

每当我尝试将绝对元素的大小调整为window.innerHeight时,window.innerHeight都会不断增加。

JSBin(打开使用一个真正的iOS设备的Safari或Xcode的模拟器) - https://jsbin.com/qivupe

如果页面未格式化,仅在iOS移动Safari上发生,则不会重现此奇怪行为。任何建议将不胜感激。

html css iframe mobile mobile-safari

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

下划线模板通过_.each显示对象数组

我在使用_.template打印每个注释循环的简单时遇到问题.

<% _.each([comments], function(i) { %>  <p><%= i %></p> <% }); %>
Run Code Online (Sandbox Code Playgroud)

打印[object Object]

<% _.each([comments], function(i) { %>  <p><%= JSON.stringify(i) %></p> <% }); %>
Run Code Online (Sandbox Code Playgroud)

打印:

[{"comment":"Mauris quis leo at diam molestie sagittis.","id":263,"observation_id":25}]
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的:

<% _.each([comments], function(i) { %>  <p><%= i.comment %></p> <% }); %>
Run Code Online (Sandbox Code Playgroud)

空白

<% _.each([comments], function(i) { %>  <p><%= i.get('comment') %></p> <% }); %>
Run Code Online (Sandbox Code Playgroud)

未捕获的TypeError:对象[object Array]没有方法'get'

<% _.each([comments], function(i) { %>  <p><%= comment %></p> <% }); %>
Run Code Online (Sandbox Code Playgroud)

空白

javascript backbone.js underscore.js

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

django-rosetta 翻译的短语未出现在页面上

我的 python 代码中有一堆标记为翻译的字符串。

例如:

remarks_sample = forms.CharField(
label = _('Remarks'),
widget = forms.Textarea(attrs = {
        'placeholder': _("Remarks"),
    })
)
Run Code Online (Sandbox Code Playgroud)

我已经成功运行 django-admin.py makemessages 并翻译了 Rosetta admin 中的短语。我试图找出为什么翻译的短语没有出现在我的页面上。

python django django-templates django-rosetta

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

Django-tastypie将request.user传递给自定义保存方法

由于我的模型的自定义保存方法将request.user作为参数,我无法执行POST/PUT请求.

TypeError at /api/obsadmin/observation/23
save() takes at least 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

我正在使用SessionAuthentication()并包含CSRF令牌.

这是相关的模型部分:

def save(self, user, owner=None, *args, **kwargs):
    self.updated_by = user.id
    super(ObsModel, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

和资源:

class ObservationResource2(ModelResource):

comments = fields.ToManyField(CommentResource2, 'comments', full=True, null=True)

class Meta:
    queryset = Observation.objects.filter(is_verified=True)
    authentication = SessionAuthentication()
    authorization = DjangoAuthorization()
    resource_name = 'observation'
    always_return_data = True
Run Code Online (Sandbox Code Playgroud)

python django tastypie

0
推荐指数
1
解决办法
1563
查看次数