我正在尝试创建一个具有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) 每当我尝试将绝对元素的大小调整为window.innerHeight时,window.innerHeight都会不断增加。
JSBin(打开使用一个真正的iOS设备的Safari或Xcode的模拟器) - https://jsbin.com/qivupe
如果页面未格式化,仅在iOS移动Safari上发生,则不会重现此奇怪行为。任何建议将不胜感激。
我在使用_.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)
空白
我的 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 中的短语。我试图找出为什么翻译的短语没有出现在我的页面上。
由于我的模型的自定义保存方法将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) django ×3
python ×2
tastypie ×2
backbone.js ×1
css ×1
html ×1
iframe ×1
javascript ×1
mobile ×1