Nous allons créer une application pour créer une table de travail.
terminal
python3 manage.py startapp schedule
Ajoutez l'application à vos paramètres.
config/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts.apps.AccountsConfig',
'shisetsu',
'colorfield',
'schedule'
]
Nous allons créer une table dans l'application de planification créée.
Les équipes doivent être gérées de manière à ce que A soit de 9h00 à 18h00. Vous pourrez peut-être aussi l'avoir comme si vous étiez payé. Par conséquent, je vais essayer de l'avoir dans le champ de texte.
En ce qui concerne l'horaire, cela signifie que vous pouvez entrer plusieurs quarts de travail par jour et travailler dans plusieurs installations. Il n'est jamais arrivé d'entrer dans un quart de travail de 3 ou plus.
Sur cette base, je vais essayer de le faire avec le tableau suivant.
schedule/models.py
from django.db import models
from shisetsu.models import *
from accounts.models import *
# Create your models here.
class Shift(models.Model):
id = models.IntegerField(verbose_name='Identifiant d'équipe',primary_key=True)
name = models.CharField(verbose_name='Nom de l'équipe', max_length=1)
start_time = models.TimeField(verbose_name="Heure de début")
end_time = models.TimeField(verbose_name="heure de fin")
wrok_time = models.IntegerField(verbose_name='Heures d'ouverture')
def __str__(self):
return self.name
class Schedule(models.Model):
id = models.IntegerField(verbose_name='ID de planification',primary_key=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
date = models.DateField(verbose_name='Date')
shift_id_1= models.ForeignKey(Shift, verbose_name='1 nom d'équipe', on_delete=models.CASCADE)
shisetsu_id_1 = models.ForeignKey(Shisetsu, verbose_name='1 établissement', on_delete=models.CASCADE)
shift_id_2 = models.ForeignKey(Shift, verbose_name='2 nom d'équipe', on_delete=models.CASCADE)
shisetsu_id_2 = models.ForeignKey(Shisetsu, verbose_name='2 installations', on_delete=models.CASCADE)
shift_id_3 = models.ForeignKey(Shift, verbose_name='3 nom d'équipe', on_delete=models.CASCADE)
shisetsu_id_3 = models.ForeignKey(Shisetsu, verbose_name='3 installations', on_delete=models.CASCADE)
shift_id_4 = models.ForeignKey(Shift, verbose_name='4 nom d'équipe', on_delete=models.CASCADE)
shisetsu_id_4 = models.ForeignKey(Shisetsu, verbose_name='4 établissements', on_delete=models.CASCADE)
Je ne pourrais pas faire ça
2 à 3 heures pour vérifier cela C'est la migration.
schedule/models.py
from django.db import models
from shisetsu.models import *
from accounts.models import *
# Create your models here.
class Shift(models.Model):
id = models.IntegerField(verbose_name='Identifiant d'équipe',primary_key=True)
name = models.CharField(verbose_name='Nom de l'équipe', max_length=1)
start_time = models.TimeField(verbose_name="Heure de début")
end_time = models.TimeField(verbose_name="heure de fin")
wrok_time = models.IntegerField(verbose_name='Heures d'ouverture')
def __str__(self):
return self.name
class Schedule(models.Model):
id = models.IntegerField(verbose_name='ID de planification',primary_key=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
date = models.DateField(verbose_name='Date')
shift_name_1 = models.ForeignKey(Shift, verbose_name='1 nom d'équipe', related_name='shift_name1',on_delete=models.SET_NULL,null= True)
shisetsu_name_1 = models.ForeignKey(Shisetsu, verbose_name='1 établissement', related_name='shisetsu_name1',on_delete=models.SET_NULL,null= True)
shift_name_2 = models.ForeignKey(Shift, verbose_name='2 nom d'équipe', related_name='shift_name2',on_delete=models.SET_NULL,null= True)
shisetsu_name_2 = models.ForeignKey(Shisetsu, verbose_name='2 installations', related_name='shisetsu_name2',on_delete=models.SET_NULL,null= True)
shift_name_3 = models.ForeignKey(Shift, verbose_name='3 nom d'équipe', related_name='shift_name3',on_delete=models.SET_NULL,null= True)
shisetsu_name_3 = models.ForeignKey(Shisetsu, verbose_name='3 installations', related_name='shisetsu_name3',on_delete=models.SET_NULL,null= True)
shift_name_4 = models.ForeignKey(Shift, verbose_name='4 nom d'équipe', related_name='shift_name4',on_delete=models.SET_NULL,null= True)
shisetsu_name_4 = models.ForeignKey(Shisetsu, verbose_name='4 établissements', related_name='shisetsu_name4',on_delete=models.SET_NULL,null= True)
Je l'ai finalement fini ... C'était long, et si vous voulez faire référence à la même table plus d'une fois dans une table, vous devez définir chaque nom_ évalué.
ID changé en incrémentation automatique lors de la saisie de données provisoires
schedule/models.py
from django.db import models
from shisetsu.models import *
from accounts.models import *
# Create your models here.
class Shift(models.Model):
id = models.AutoField(verbose_name='Identifiant d'équipe',primary_key=True)
name = models.CharField(verbose_name='Nom de l'équipe', max_length=1)
start_time = models.TimeField(verbose_name="Heure de début")
end_time = models.TimeField(verbose_name="heure de fin")
wrok_time = models.IntegerField(verbose_name='Heures d'ouverture')
def __str__(self):
return self.name
class Schedule(models.Model):
id = models.AutoField(verbose_name='ID de planification',primary_key=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
date = models.DateField(verbose_name='Date')
shift_name_1 = models.ForeignKey(Shift, verbose_name='1 nom d'équipe', related_name='shift_name1',on_delete=models.SET_NULL,null= True)
shisetsu_name_1 = models.ForeignKey(Shisetsu, verbose_name='1 établissement', related_name='shisetsu_name1',on_delete=models.SET_NULL,null= True)
shift_name_2 = models.ForeignKey(Shift, verbose_name='2 nom d'équipe', related_name='shift_name2',on_delete=models.SET_NULL,null= True)
shisetsu_name_2 = models.ForeignKey(Shisetsu, verbose_name='2 installations', related_name='shisetsu_name2',on_delete=models.SET_NULL,null= True)
shift_name_3 = models.ForeignKey(Shift, verbose_name='3 nom d'équipe', related_name='shift_name3',on_delete=models.SET_NULL,null= True)
shisetsu_name_3 = models.ForeignKey(Shisetsu, verbose_name='3 installations', related_name='shisetsu_name3',on_delete=models.SET_NULL,null= True)
shift_name_4 = models.ForeignKey(Shift, verbose_name='4 nom d'équipe', related_name='shift_name4',on_delete=models.SET_NULL,null= True)
shisetsu_name_4 = models.ForeignKey(Shisetsu, verbose_name='4 établissements', related_name='shisetsu_name4',on_delete=models.SET_NULL,null= True)
Dans la continuité, je souhaite afficher le décalage une fois effectué correctement, donc C'est un problème, mais je vais faire un quart de travail d'un mois à la main.
Lorsque j'essaie d'enregistrer un horaire, le quart est une entrée obligatoire Je l'ai sorti.
schedule/models.py
from django.db import models
from shisetsu.models import *
from accounts.models import *
# Create your models here.
class Shift(models.Model):
id = models.AutoField(verbose_name='Identifiant d'équipe',primary_key=True)
name = models.CharField(verbose_name='Nom de l'équipe', max_length=1)
start_time = models.TimeField(verbose_name="Heure de début")
end_time = models.TimeField(verbose_name="heure de fin")
wrok_time = models.IntegerField(verbose_name='Heures d'ouverture')
def __str__(self):
return self.name
class Schedule(models.Model):
id = models.AutoField(verbose_name='ID de planification',primary_key=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
date = models.DateField(verbose_name='Date')
shift_name_1 = models.ForeignKey(Shift, verbose_name='1 nom d'équipe', related_name='shift_name1',on_delete=models.SET_NULL,null= True)
shisetsu_name_1 = models.ForeignKey(Shisetsu, verbose_name='1 établissement', related_name='shisetsu_name1',on_delete=models.SET_NULL,blank=True, null=True)
shift_name_2 = models.ForeignKey(Shift, verbose_name='2 nom d'équipe', related_name='shift_name2',on_delete=models.SET_NULL,blank=True, null=True)
shisetsu_name_2 = models.ForeignKey(Shisetsu, verbose_name='2 installations', related_name='shisetsu_name2',on_delete=models.SET_NULL,blank=True, null=True)
shift_name_3 = models.ForeignKey(Shift, verbose_name='3 nom d'équipe', related_name='shift_name3',on_delete=models.SET_NULL,blank=True, null=True)
shisetsu_name_3 = models.ForeignKey(Shisetsu, verbose_name='3 installations', related_name='shisetsu_name3',on_delete=models.SET_NULL,blank=True, null=True)
shift_name_4 = models.ForeignKey(Shift, verbose_name='4 nom d'équipe', related_name='shift_name4',on_delete=models.SET_NULL,blank=True, null=True)
shisetsu_name_4 = models.ForeignKey(Shisetsu, verbose_name='4 établissements', related_name='shisetsu_name4',on_delete=models.SET_NULL,blank=True, null=True)
60 données de quart enregistrées temporairement
De là, je vais créer un écran qui ressemble au décalage
Recommended Posts