In uw bovenstaande model zijn Meerdere primaire sleutels voor tabel "app_employee" niet toegestaan.
Het komt niet eraan omdat je
Aegis_ID = models.UUIDField(primary_key=True, null=False, default=uuid.uuid4, editable=False, serialize=True)
Omdat in de django-documentatie duidelijk wordt aangegeven dat
Field.primary_keyIf True, dit veld is de primaire sleutel voor het model.
Als u primary_key=True voor geen enkel veld in uw model opgeeft, zal Django automatisch een AutoField toevoegen om de primaire sleutel vast te houden, dus u hoeft primary_key=True niet in te stellen voor een van uw velden, tenzij u de standaard primaire-sleutelgedrag.
primary_key=True impliceert null=False en unique=True. Er is slechts één primaire sleutel toegestaan voor een object.
Ik heb uw model op mijn project geprobeerd en het werkt absoluut prima. Voor de eenvoud heb ik andere velden verwijderd
from __future__ import unicode_literals
from django.db import models
import uuid
class Employee(models.Model):
Aegis_ID = models.UUIDField(primary_key=True, null=False,default=uuid.uuid4, editable=False, serialize=True)
Employee_Number = models.ForeignKey('self', on_delete=models.CASCADE, related_name='Company_Employee_Number',
null=True, blank=True, max_length=6, help_text="Employee ID")
Employee_FName = models.CharField(null=True, blank=True, max_length=25, help_text="First Name")
Employee_LName = models.CharField(null=True, blank=True, max_length=25, help_text="Last Name")
Employee_Email = models.EmailField(max_length=80, blank=True, help_text="GPM Email address")
en toen ik dat deed
(venv) [email protected]:~/firstsite$ python manage.py makemigrations
Migrations for 'employee':
employee/migrations/0001_initial.py
- Create model Employee
en dan
(venv) [email protected]:~/firstsite$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, employee, sessions
Running migrations:
Applying employee.0001_initial... OK
dus het werkt goed .
Of je maakt je app opnieuw of begint je project gewoon helemaal opnieuw, er kunnen afhankelijkheidsproblemen zijn of zoiets. Maar je code voor model Werknemer is in orde.