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
我正在尝试从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
我有一个带有一系列复选框的表单.我想在用户点击提交后警告用户,如果未选中所有复选框.我正在使用以下代码报告复选框的所有值:
$('[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)
任何建议表示赞赏.谢谢!
我是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) 我有一个我在视图中创建的模型集:
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新手问题.我有以下型号:
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对象.
任何帮助是极大的赞赏.谢谢!