小编mb5*_*089的帖子

模板中的多对多项:检查是否有空或无

Django初学者问题.我有以下型号:

class Leg(models.Model):
    startpoint = models.CharField(max_length=50, help_text="examples: 'Smith Elementary' or 'riders' houses'; less than 50 characters.")
    endpoint = models.CharField(max_length=50, help_text="examples: 'Smith Elementary' or 'riders' houses'; less than 50 characters.")
    riders = models.ManyToManyField(Rider, blank=True)
    drivers = models.ManyToManyField(Driver, blank=True)
Run Code Online (Sandbox Code Playgroud)

我将模板中的模型实例设为'leg'.在模板中,我想看看,对于那个实例,是否有任何关联的驱动程序.我已经尝试了{%if leg.drivers%},但总是似乎评估为True,无论腿部是否有任何驱动程序.

如何查看是否有任何驱动程序?对不起基本问题,但我似乎无法弄清楚.

django django-templates django-models django-template-filters

11
推荐指数
1
解决办法
4483
查看次数

django - 将db从sqlite3转换为postgres时出现loaddata错误

我正在尝试从sqlite3 db转换为Postgres(这样我就可以使用django 1.4获得时区感知日期时间字段).我从sqlite3 db中转储了数据.然后切换设置指向空postgres db.然后运行syncdb,然后运行南迁移.到目前为止都很好.

当我尝试将转储的数据重新加载到postgres时,我收到一个错误:

加载数据时发生异常:重复键值违反唯一约束"django_content_type_app_label_model_key"DETAIL:键(app_label,model)=(django_twilio,caller)已存在.

我从应用程序中删除了twilio,但仍然遇到类似的错误,只是数据库中的下一个对象.

任何帮助表示赞赏.我是编程和django的新手.谢谢!

django postgresql django-models django-database postgresql-9.1

9
推荐指数
1
解决办法
3308
查看次数

如果未选中所有复选框,则警告用户

我有一个带有一系列复选框的表单.我想在用户点击提交后警告用户,如果未选中所有复选框.我正在使用以下代码报告复选框的所有值:

$('[id^=leg_rider]').filter(':checked');
Run Code Online (Sandbox Code Playgroud)

这似乎有效.但是,当我尝试检查返回的对象是否为空时,它似乎不起作用.这就是我正在尝试的:

        $("#set_pref_submit").click(function() {
        var legchecked = $('[id^=leg_rider]').filter(':checked');
        if (!legchecked){ alert("no riders")};
    });
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏.谢谢!

javascript jquery jquery-selectors

8
推荐指数
2
解决办法
7188
查看次数

django - 检查过滤器是否返回查询集中的任何内容

我是django的新手.我需要检查查询集是否返回任何值,如果没有,则跳转到循环中的下一个项目.我试过尝试..除了ObjectDoesNotExist,这是行不通的.如果过滤器没有找到任何东西,它会返回什么?我该如何检查?

这是现有的代码:

def assign_family_riders(leg):
    remaining_leg_riders = list(leg.riders.all())
    for car in CarAssignment.objects.filter(leg=leg):
        driver_family = car.driver.family
        try:
            riders = leg.riders.all().filter(family=driver_family)
        except ObjectDoesNotExist:
            continue
        for rider in riders:
            car.riders.add(rider)
            remaining_leg_riders.remove(rider)
    return remaining_leg_riders
Run Code Online (Sandbox Code Playgroud)

django django-errors

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

django modelformset排除ID字段

我有一个我在视图中创建的模型集:

    CarpoolFamilyInviteModelFormset = modelformset_factory(CarpoolFamilyInvite, fields=('family_name','family_email'), extra=3)
Run Code Online (Sandbox Code Playgroud)

如您所见,我试图将其限制为两个字段:family_name和family_email.但是,当我在模板中渲染它时,我得到一个额外的字段ID.这是模板代码:

            {% for form in formset %}
                <div class="row">
                {% for field in form %}
                    <div class="span3">
                        <input id="focusedInput" class="input-large focused" type="text" placeholder="{{ field.label }}">
                    </div>
                {% endfor %}
                </div>
            {% endfor %}
Run Code Online (Sandbox Code Playgroud)

这是表格的样子:

在此输入图像描述

知道如何跳过显示ID字段吗?exclude ="ID"似乎没有任何效果.谢谢!

django django-templates django-models django-forms

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

django多对多关系:如何删除项目但不从相关模型中删除它们

Django新手问题.我有以下型号:

class Leg(models.Model):
  drive_date = models.DateField()
  startpoint = models.CharField(max_length=50)
  endpoint = models.CharField(max_length=50)
  start_time = models.TimeField()
  riders = models.ManyToManyField(Rider, blank=True)
  drivers = models.ManyToManyField(Driver, blank=True)
  carpool = models.ForeignKey(Carpool,  blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

对于Leg的某些实例,我想从Leg模型中删除任何现有的骑手和驱动程序,但不要分别从Rider或Driver Models(未显示)中删除它们.无法弄清楚该怎么做.当我迭代:

for driver in leg.drivers.all():
    driver.delete()
Run Code Online (Sandbox Code Playgroud)

它似乎删除了我不想做的实际Driver对象.

任何帮助是极大的赞赏.谢谢!

django django-models

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