Estoy creando un sitio web para un cliente que desea poder cambiar el horario de apertura para cada una de sus tiendas. ¿Existe una solución existente para este tipo de problema con Django?Cualquier solución existente para implementar "horas de apertura" en Django
Respuesta
¿Qué quieres decir? Parece bastante simple. Ajústelo según su orden de semana. Y si lo desea, agregue la validación. Pero las personas deben ser lo suficientemente inteligentes como para no necesitar validación para ese tipo de cosas.
WEEKDAYS = [
(1, _("Monday")),
(2, _("Tuesday")),
(3, _("Wednesday")),
(4, _("Thursday")),
(5, _("Friday")),
(6, _("Saturday")),
(7, _("Sunday")),
]
class OpeningHours(models.Model):
store = models.ForeignKey("StoreModel")
weekday_from = models.IntegerField(choices=WEEKDAYS, unique=True)
weekday_to = models.IntegerField(choices=WEEKDAYS)
from_hour = models.IntegerField(choices=range(1,25))
to_hour = models.IntegerField(choices=range(1,25))
def get_weekday_from_display(self):
return WEEKDAYS[self.weekday_from]
def get_weekday_to_display(self):
return WEEKDAYS[self.weekday_to]
class SpecialDays(models.Model):
holiday_date = models.DateField()
closed = models.BooleanField(default=True)
from_hour = models.IntegerField(choices=range(1,25), null=True, blank=True)
to_hour = models.IntegerField(choices=range(1,25), null=True, blank=True)
en lugar de escribir los métodos get_weekday_from y get_weekday_to, puede usar get_weekday_from_display y get_weekday_to_display, como se menciona aquí: https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display – patrick
en esta solución no es posible tener horarios diferentes en días diferentes de la semana, quizás esta es la clave del problema – juliomalegria
@ julio.alegria: ¿Por qué no es posible? Fue hecho así que sería posible tener intervalos regulares, uno o varios días. Y luego puede agregarle SpecialDays además de eso. Realmente no veo el desafío aquí. Ni por qué este arnoud briche está haciendo esta pregunta sin darle seguimiento con alguna sustancia real. – benjaoming
Hay una aplicación para eso reutilizable: django-openinghours. El código base de la aplicación parece un poco polvoriento a primera vista (no PEP8, camelCase, ..), pero django-openinghours viene con un conjunto de características útiles, es confiable y probado en el campo desde hace años.
- 1. SQL para Horas de apertura
- 2. Front-end Django: ¿cualquier plantilla o solución lista para usar?
- 3. C# archivo de apertura en una solución
- 4. Biblioteca para encontrar cualquier solución de cualquier número de ecuaciones lineales con cualquier número de variables
- 5. PayPal para rupias indias (INR) cualquier solución
- 6. "Interceptar" la apertura de cualquier tooltip en toda la aplicación
- 7. ¿Cómo implementar una solución de consumidor competidora?
- 8. Apertura del proyecto existente desde el control de origen
- 9. Django query datetime para objetos de más de 5 horas
- 10. Cómo implementar el gesto de apertura de lista de Android
- 11. ¿Cómo implementar django admin en una base de datos existente donde tiene acceso de solo lectura?
- 12. Integración de la aplicación django existente con django-cms
- 13. No se puede iniciar cualquier aplicación Django
- 14. django: select_related() en un objeto ya existente?
- 15. ¿Una solución para Django QueryDict que envuelve valores en listas?
- 16. Integrando GeoDjango en el proyecto Django existente
- 17. cheque Django para cualquier existe para una consulta
- 18. Agregar un nuevo proyecto a una solución existente en TFS
- 19. SCORM Cross Domain, SCO-Fetcher o cualquier otra solución
- 20. ¿Cómo implementar la traducción en un proyecto web existente?
- 21. Cómo implementar asociaciones polimórficas en una base de datos existente
- 22. Horas de apertura de Schema.org w/varias veces y días que están cerrados
- 23. ¿Qué solución es mejor para la autenticación social de Django?
- 24. ¿Cuál es la mejor solución de Wiki para Django?
- 25. WCF se ahoga en propiedades sin "conjunto". Cualquier solución?
- 26. ¿Cuál es la mejor solución para OpenID con Django?
- 27. Solución de consulta Django N + 1
- 28. Transmitiendo con Node.js, o cualquier otra solución de Comet
- 29. Cualquier solución a Cruz ilegal excepción del hilo de operación?
- 30. Cómo implementar un proyecto wordpress existente en Windows Azure
¿Cómo está modelando actualmente las tiendas? –