首页 > 解决方案 > django中的自动完成字段

问题描述

这是我的模型

class TimeSlots(models.Model):
start = models.TimeField(null=True, blank=True)
end = models.TimeField(null=True, blank=True)

class Meta:
    ordering = ['start']

def __str__(self):
    return '%s - %s' % (self.start, self.end)


class Event(models.Model):
event_date = models.DateField(null=False, blank=True)
start = models.OneToOneField(TimeSlots)
end = models.TimeField(null=True, blank=True)
available = models.BooleanField(default=True)
patient_name = models.CharField(max_length=60, null=True, blank=True)
phone_number = PhoneNumberField(blank=True, null=True)
stripePaymentId = models.CharField(max_length=150, null=True, blank=True)
stripePaid = models.BooleanField(null=False, blank=True, default=True)
key = models.UUIDField(primary_key=False, default=uuid.uuid4, 
editable=False)
sites = models.ManyToManyField(Site, null=True, blank=True)

class Meta:
    verbose_name = u'Scheduling'
    verbose_name_plural = u'Scheduling'

def __unicode__(self):
    return self.start

def get_absolute_url(self):
    url = reverse('admin:%s_%s_change' % (self._meta.app_label, self._meta.model_name), args=[self.pk])
    return u'<a href="%s">%s</a>' % (url, str(self.start))

我想要的是事件模型的结束值应该由选定的时间段自动填充,就像当我从时间段中为事件模型选择一个起始值时,结束值应该自动填充

标签: djangodjango-modelsautocomplete

解决方案


好的,我通过在我的模型中添加一个干净的函数来解决它

    def clean(self):
    self.end = self.start.end

就这么简单


推荐阅读