我有以下型号:
class User(models.Model):
user_question = models.ForeignKey(UserQuestion)
class Question(models.Model):
text = models.CharField(max_length=255)
class UserQuestion(models.Model):
answer = models.CharField(max_length=255)
question = models.ForeignKey(Question)
user = models.ForeignKey(User, related_name='questions')
Run Code Online (Sandbox Code Playgroud)
当我运行下面的查询时,用户模型也被删除
user.questions.all().delete()
Run Code Online (Sandbox Code Playgroud)
有没有办法在不删除用户的情况下删除问题?
我尝试重复这些问题,但没有用
questions = user.questions.all()
for an in questions:
answer.delete()
Run Code Online (Sandbox Code Playgroud)
我认为查询集很懒,所以也许我需要在删除之前对其进行评估,所以我打印了它,但这不起作用。
print questions
questions.delete()
Run Code Online (Sandbox Code Playgroud)
我知道使 ForeignKey 可为空将为我提供诸如 clear 和 remove 之类的方法,但我不想这样做,因为我不想要任何孤立的用户问题。
我更新了外键如下
class UserQuestion(models.Model):
answer = models.CharField(max_length=255)
user = models.ForeignKey(User, related_name='questions', null=True, on_delete=models.SET_NULL)
Run Code Online (Sandbox Code Playgroud)
我跑了makemigrations,migrate但是当我运行下面的查询时,问题模型仍然被删除。
user.questions.all().delete()
Run Code Online (Sandbox Code Playgroud) 我想在django模板中的if语句中否定一组条件的结果.继承我的代码
{% if not (owner.home_number or owner.work_number or owner.mobile_number) %}
No contact number available
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我目前收到此错误
TemplateSyntaxError:无法解析余数:'(owner.home_number'来自'(owner.home_number')
我正在尝试使用 django-filters 创建使用过滤器方法
请参阅以下模型的示例:
class Chicken(TimeStampedModel):
eggs = ForeignKey(Egg)
class Egg(TimeStampedModel):
hatched = BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)
请参阅我当前的过滤器设置示例:
class ChickenFilter(FilterSet):
eggs__contains = ModelChoiceFilter(name="eggs", method='hatched_eggs', queryset=Eggs.objects.all())
def hatched_eggs(self, queryset, name, value):
print "We got eggs"
return queryset.filter(eggs__hatched=True)
Run Code Online (Sandbox Code Playgroud)
问题是当我点击 url 时,该方法甚至不打印 We got Eggs。它只返回一个空的查询集。
我最近开始向我的项目添加文档,并且我正在尝试遵循 Google 风格指南。我正在使用 Sphinx 生成文档,并使用 Sphinx 扩展拿破仑来弥合 Google 样式指南和 reST 之间的差距。
我在渲染参数和注释时没有问题,但我似乎无法让示例部分渲染代码片段。
class Chicken(object):
"""Animal that lays egg and has feathers
Note:
Chickens love to eat feed
Example:
chicken.eats(feed)
"""
Run Code Online (Sandbox Code Playgroud)
我还尝试在示例部分使用双冒号。
Example::
Run Code Online (Sandbox Code Playgroud) 我已经查阅了Dust.js GitHub页面,它说我可以将partials传递给模板,如下所示:
{@partial checkbox_title="JM"}
{>toggle/}
{/partial}
Run Code Online (Sandbox Code Playgroud)
和这样:
{>toggle checkbox_title="Hi JM"/}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了两种,但它们都没有用,所以我使用了以下内容:
家长:
{< checkbox_title}
Hi JM
{/checkbox_title}
{>toggle/}
Run Code Online (Sandbox Code Playgroud)
儿童:
{+checkbox_title/}
Run Code Online (Sandbox Code Playgroud)
以上工作,除非我尝试使用以下内容渲染模板:
dust.render("toggle", base.push({checkbox_title:"hhhhhh"}),
function(err, html) { console.log(html); });
Run Code Online (Sandbox Code Playgroud)
目标:使用dust.render覆盖子模板中的块