매장 직원 명부를 관리하기 위해 작은 django 앱을 제작하고 있습니다. 직원은 프리랜서와 유사하며 매주 거의 고정 된 스케줄을 가지고 있으며 평일/시간대에 추가 직원을 요청할 수 있습니다.Django 관리자가 주간 단위로 데이터베이스 채우기
저는 파이썬과 django를 처음 접했고 장고 관리자를 사용하고 있습니다.
"수동으로" "Turno"를 추가하면 (작업 할당, 확실하지 않습니다. 영어로 "Shift"가 될 것입니다.) 모든 것이 공정합니다.
장고 관리를 통해 매주 고정 된 Turnos (한 번에 하나씩 "수동"이 아닌)를 추가 할 수있는 몇 가지 방법이 필요합니다. 평일, 시작 및 종료 시간 및 종료 날짜 2 또는 3 개월) 전에 ... 어떻게?
어떤 종류의 도움이 될 것입니다. 저는 여러분에게 내 의무를 다할 것을 요구하지 않습니다. 여기
from django.db import models
from django.contrib.auth.models import User
import datetime
class Dia(models.Model):
fecha = models.DateField(unique=True)
class Meta:
ordering = ['fecha']
def __unicode__(self):
return (self.fecha.strftime('%A %d de %b de \'%y'))
class Turno(models.Model):
dia = models.ForeignKey(Dia)
perfil_usuario = models.ForeignKey(User, verbose_name="Usuario")
comienza = models.TimeField()
finaliza = models.TimeField()
comentarios = models.TextField(blank=True, null=True)
def __unicode__(self):
return self.dia.fecha.strftime('%A %d de %b de \'%y') + ' - ' + self.perfil_usuario.username
그리고 내 admin.py
from roquen.horarios.models import Turno, Dia
from django.contrib.auth.models import User
from django.contrib import admin
from django import forms
admin.site.register(Dia)
class TurnoAdminForm(forms.ModelForm):
class Meta:
model = Turno
def clean_finaliza(self):
data = self.cleaned_data['finaliza']
if data <= self.cleaned_data['comienza']:
raise forms.ValidationError('La hora de fin debe ser posterior a la de comienzo')
return data
class TurnoAdmin(admin.ModelAdmin):
form = TurnoAdminForm
list_display = ['dia', 'perfil_usuario', 'comienza', 'finaliza']
admin.site.register(Turno, TurnoAdmin)
우수 답변, 감사합니다. 마지막으로 언급 한 프로세스를 만들기 위해 따라야 할 stackoverflowers 중 누군가가 나를 가리킬 수 있습니까? – Pablo
파이썬 스크립트를 만들어 매주 cron을 통해 실행할 수 있습니다. Django를 외부 스크립트와 함께 사용하는 방법에 대한 자세한 정보는 http://www.cotellese.net/2007/09/27/running-external-scripts-against-django-models/를 참조하십시오. – myfreeweb