Vorerst möchte ich eine Schichterstellungsfunktion erstellen, aber wenn es monatliche Schichtdaten gibt, implementieren Sie diese zuerst, indem Sie sie im nächsten Monat kopieren können, und wenn sie entwickelt werden können, die Schichtbedingungen der einzelnen Mitarbeiter Oder ich möchte in der Lage sein, basierend auf der Urlaubsanfrage automatisch Schichten für den nächsten Monat oder den aktuellen Monat zu erstellen und diese manuell zu korrigieren.
Nach dem Kopieren aus dem Vormonat beim Erstellen einer Schicht wird die Schicht unter den Bedingungen jedes Mitarbeiters bearbeitet. Da dies in Excel erstellt wird, ist es problematisch. Ich habe die Erstellungsunterstützungsfunktion bereits in VBA erstellt, aber ...
Bedingung ist,
・ Normale Mitarbeiter arbeiten mehr als XX Stunden im Monat ・ Nur an welchem Tag arbeiten ・ Zwei Personen müssen von XX bis XX arbeiten ・ Das Personal kann in mehreren Einrichtungen arbeiten
Ich werde es von nun an in Form von Kopieren und Bearbeiten in diesem Monat schaffen, wenn ich es nächsten Monat mache. Grundsätzlich scheint es auf dem Tag des Tages zu basieren, daher möchte ich den ersten Montag in den nächsten Monat setzen.
Nach der Implementierung möchte ich nützliche Funktionen hinzufügen.
Ich habe auch über verschiedene Tische nachgedacht. Wenn es an einem Tag mehrere Schichtmuster gibt, habe ich darüber nachgedacht, sie so zu erstellen, dass es keine Rolle spielt, wie viele sie werden. Die Technologie fehlt immer noch, und aus Sicht des Benutzers spielt es keine Rolle, ob die Back-Table-Struktur sauber ist oder nicht. Zuallererst denken, dass es am besten ist, etwas bereitzustellen, das verwendet werden kann,
Datum USER ① Schichtmuster der Einrichtung ② Schichtmuster der Einrichtung ③ Schichtmuster der Einrichtung ④ Schichtmuster der Einrichtung
Ich werde es in Form von implementieren.
Es scheint schwierig zu sein, die erforderliche Arbeit von zwei oder mehr Personen von XX bis XX zu überprüfen, so dass sie möglicherweise erst später implementiert wird (lacht).
Ich dachte, dass die Einrichtungstabelle an verschiedenen Orten verwendet wird, also werde ich eine App für die Einrichtung erstellen
terminal
python3 manage.py startapp shisetsu
Fügen Sie nach dem Hinzufügen der App die App zur Einstellung hinzu
config/settigns.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'
]
Geben Sie das Modell der Einrichtung an. Stellen Sie sicher, dass Sie die Farben zur Klarheit angeben, wenn Sie grundlegende Informationen und Verschiebungstabellen anzeigen.
shisetsu/models.py
from django.db import models
from phonenumber_field.modelfields import PhoneNumberField
# Create your models here.
class Shisetsu(models.Model):
id = models.IntegerField(verbose_name='Einrichtungs-ID',primary_key=True)
name = models.CharField(verbose_name='Name der Einrichtung', max_length=50)
adress = models.CharField(verbose_name='Adresse', max_length=100)
tel = PhoneNumberField(verbose_name='Telefonnummer', null=True, blank=True)
fax = PhoneNumberField(verbose_name='Faxnummer', null=True, blank=True)
color = ColorField(verbose_name='Anzeigefarbe', default='#FF0000')
Ich werde auf der Admin-Site bearbeiten, also ändere admin.py.
shisetsu.py
from django.contrib import admin
from .models import Profile
# Register your models here.
admin.site.register(Profile)
Nachdem die Einstellungen abgeschlossen sind, migrieren Sie.
terminal
python3 manage.py makemigration
Bei der Implementierung ist ein Fehler aufgetreten.
from phonenumber_field.modelfields import PhoneNumberField
Ich habe es nicht, also denke ich, dass Sie es importieren sollten.
terminal
pip install django-phonenumber-field
pip install phonenumbers
Ich denke, dass die Installation abgeschlossen ist, also versuchen Sie es erneut.
Nächster,
terminal
color = ColorField(verbose_name='Anzeigefarbe', default='#FF0000')
NameError: name 'ColorField' is not defined
Ich bekomme hier einen Fehler.
terminal
pip install django-colorfield
Installieren Sie zwei Apps und fügen Sie sie zu den Apps in der Einstellungsdatei hinzu
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',
'phonenumber_field.modelfields',
]
Führen Sie die Migration erneut durch.
Es scheint gelungen zu sein.
Ich werde es auf dem Verwaltungsbildschirm überprüfen.
Es wurde angezeigt. Als ich versuchte, mich zu registrieren, wurde eine Fehlermeldung mit meiner Telefonnummer angezeigt.
Ich denke, es unterscheidet sich vom Telefonnummernformat in Japan ... Also reparieren
python:config.setting.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',
]
Telefon-App entfernen
Modelle neu schreiben
shisetsu.py
from django.db import models
from colorfield.fields import ColorField
# Create your models here.
class Shisetsu(models.Model):
id = models.IntegerField(verbose_name='Einrichtungs-ID',primary_key=True)
name = models.CharField(verbose_name='Name der Einrichtung', max_length=50)
adress = models.CharField(verbose_name='Adresse', max_length=100)
tel = models.CharField(verbose_name='Telefonnummer', max_length=20)
fax = models.CharField(verbose_name='Faxnummer', max_length=20)
color = ColorField(verbose_name='Anzeigefarbe', default='#FF0000')
Dadurch wird eine weitere Migration durchgeführt. Sie haben es jetzt gespeichert.
Da die Einrichtungsinformationen die Registrierung nicht so stark aktualisieren, erstellen wir keinen Bearbeitungsbildschirm.
Recommended Posts