我只是想知道我是否有三个型号:
class A(models.Model:
b = models.ForeignKeyField('B')
class B(models.Model):
c = models.ForeignKeyField('C')
class C(models.Model):
user = models.ForeignKeyField('auth.User')
Run Code Online (Sandbox Code Playgroud)
我在A的列表视图中:
foo = A.objects.all().prefetch_related('B')
Run Code Online (Sandbox Code Playgroud)
有没有办法让它预取C(然后'auth.User')?
我正在使用Django 1.7
谢谢你的帮助!
我为我的网站编写了一个 qna 脚本,为了防止用户开始讨论,我希望每个用户只能回复一次。
class Q(models.Model):
text = models.TextField()
user = models.ForeignKeyField('auth.User')
class A(models.Model):
text = models.TextField()
user = models.ForeignKeyField('auth.User')
q = models.ForeignKeyField('Q')
class Meta:
unique_together = (('user','q'),)
Run Code Online (Sandbox Code Playgroud)
现在迁移给了我:
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: columns user_id, q_id are not unique
Run Code Online (Sandbox Code Playgroud)
当然,独特之处与现有数据发生冲突。我现在需要知道的是如何告诉迁移删除冲突的答案。一个愚蠢的解决方案,比如保留第一个找到的解决方案已经是一个很大的帮助。更好的是通过自定义函数比较冲突的 A 的方法。
我正在使用新的迁移系统运行 Django-1.7 - 而不是 South。
谢谢你的帮助!
我有一个可能为null的OneToOneField模型:
solution_for = models.OneToOneField('QNAQuestion', related_name='solution', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
有时它有一个值需要在视图中删除.null它的语法是什么?这是一个非常简单的问题,但谷歌并没有真正帮助.
我已经尝试过:
obj.solution_for = None
obj.solution_for = False
obj.solution_for = ''
del obj.solution_for
Run Code Online (Sandbox Code Playgroud)
但我想我必须放弃..这样做的正确方法是什么?
django django-models django-queryset django-related-manager django-1.7
有些标签在不设置*.po文件的情况下为我翻译了单词.
{% trans "groups" %}
{% trans "users" %}
Run Code Online (Sandbox Code Playgroud)
不幸的是,在创建*.po文件并运行时,它们不会被覆盖:
django-admin.py compilemessages
Run Code Online (Sandbox Code Playgroud)
那么如何摆脱默认翻译呢?我更喜欢项目级别的解决方案,因为我不想修改Django核心文件.
如何获得python中相对路径的最左边部分?
我从这样的事情开始:
/var/tmp/workdir/1/foo/bar/test.jpg
Run Code Online (Sandbox Code Playgroud)
然后我删除了其中的一些以获得:
1/foo/bar/test.jpg
Run Code Online (Sandbox Code Playgroud)
使用:
rel_path = os.path.relpath(path,base_dir)
Run Code Online (Sandbox Code Playgroud)
现在我怎样才能得到最左边的部分——“1”?
我只能找到从右侧开始的工具,但在这种情况下,我想要最左边的东西,因为它与用户 ID 对应。我也想避免从右边走,因为可能有更多的子目录。
我刚刚在脚本中阅读以下行:
fn = (len(sys.argv) > 2 and [sys.argv[2]] or ['test_out.jpg'])[0]
Run Code Online (Sandbox Code Playgroud)
I don't really get what's going on here. So there is a comparison of the number of arguments with 2 and then an or statement. What is the author doing with this and is it a good coding style?
我试过了:
form = JournalForm(initial={'tank': 123})
Run Code Online (Sandbox Code Playgroud)
但正如文档所述,它不适用于绑定表单.如何使用绑定表单中的默认值填充输入字段?这些值也应该是可变的.
我的情况我想创建一个允许用户更改其电子邮件地址的表单.当前的电子邮件地址应该在输入字段中.
我做了一个小的实时预览,检测a中的keyup textarea然后生成预览.
$('#main-form-subject').children("input").on("change keyup input",function() {
update_preview(preview_id,subject_id,body_id);
});
Run Code Online (Sandbox Code Playgroud)
现在我也有按钮可以自动插入图片网址等内容textarea.这显然不会被抓住keyup.但也change没有做到这一点.如何检测文本字段值的这些自动更改?