自身过滤器存在问题,或者为什么列表没有方法“apend”(Python)
我尝试编写自己的过滤器。但它不起作用,我不明白为什么。表regimeCalendar包含具有相同列值日期的行,我希望我的筛选器只返回不同的值,也许我走错了方向?在使用my filter的字符串中指向模板是一个错误:自身过滤器存在问题,或者为什么列表没有方法“apend”(Python),python,django,Python,Django,我尝试编写自己的过滤器。但它不起作用,我不明白为什么。表regimeCalendar包含具有相同列值日期的行,我希望我的筛选器只返回不同的值,也许我走错了方向?在使用my filter的字符串中指向模板是一个错误: 'datetime.date' object has no attribute 'append' 我的筛选文件: ... @register.filter(is_safe=False) def get_distinct_dates(value): "
'datetime.date' object has no attribute 'append'
我的筛选文件:
...
@register.filter(is_safe=False)
def get_distinct_dates(value):
"""Adds the arg to the value."""
try:
results = []
for item in value:
add = True
for result in results:
if result == item.regimeCalendar.date:
add = False
break
if add:
results.append(item.regimeCalendar.date)
while len(results) < 21:
result.append("")
return results
except (ValueError, TypeError):
return ''
views.py文件:
class RegimeCalendar(models.Model):
patient = models.ForeignKey(Patient)
date = models.DateField(default=datetime.now, unique=True)
class Meta:
ordering = ['date']
unique_together = ('patient', 'date')
class AppointmentCalendar(models.Model):
added_at = models.DateTimeField(default=datetime.now, blank=True)
appointment = models.ForeignKey(Appointments)
regimeCalendar = models.ForeignKey(RegimeCalendar)
patient = models.ForeignKey(Patient)
doctor_mark = models.BooleanField(default=False)
nurse_mark = models.BooleanField(default=False)
...
context['AppointmentCalendar'] = AppointmentCalendar.objects.filter(patient=patient)
...
我的模板html文件:
{% for item in AppointmentCalendar|get_distinct_dates %}
...
{% endfor %}
改变
到
您只需要添加一个s。结果.append。
result.append("") # result is a date object
results.append("") # results is a list