Как добавить три таблицы в модели: «Пользователи», «Студент» и «Факультет» с одним столбцом, чтобы я мог получать данные из всех трех таблиц с одним столбцом - PullRequest
0 голосов
/ 25 марта 2019

Я хочу, чтобы оно было таким, чтобы мне требовались имя пользователя и пароль для доступа к учетной записи, затем это имя пользователя сохранялось как первичный ключ в таблице Users, и это имя пользователя также находится в таблице Student и Faculty, и я могу получить доступвсе три таблицы из этого.Я продолжаю использовать Внешний ключ и прочее, но ничего не помогает, спасибо

Я пытался создать абстрактного пользователя, используя внешний ключ в табличной модели Users, models.ManytoManyField

**

class CustomUser(AbstractUser):
    username = models.IntegerField(primary_key=True, unique=True, default=None)
    student = models.ForeignKey(StudentUser, on_delete=models.CASCADE, default=0000)
    faculty = models.ForeignKey(FacultyUser, on_delete=models.CASCADE, default=0000)
    first_name = models.CharField(max_length = 200)
    last_name = models.CharField(max_length = 200)
    email = models.EmailField()
class FacultyUser(models.Model):
    ROLE_CHOICES = (
        ('STD', 'student'),
        ('TCH', 'teacher'),
        ('CDR', 'coordinator'),
        ('HOD', 'HOD'),
    )
    f_code = models.IntegerField(unique=True, primary_key=True, default=None)
    role = models.CharField(choices=ROLE_CHOICES, max_length=3)

class StudentUser(models.Model):
    DEPARTMENT_CHOICES = (
        ('CSE', 'Computer Science Engineering'),
        ('EC', 'Electrical Engineering'),
        ('ME', 'Mechanical Engineering'),
        ('CE', 'Civil Engineering'),
        ('EX', 'Electronics Engineering'),
        ('FT', 'Fire Technology'),
    )
    SEMESTER_CHOICES = (
        ('1', 'First'),
        ('2', 'Second'),
        ('3', 'Third'),
        ('4', 'Fourth'),
        ('5', 'Fifth'),
        ('6', 'Sixth'),
        ('7', 'Seventh'),
        ('8', 'Eighth'),
    )
    GENDER_CHOICES = (
        ('M', 'Male'),
        ('F', 'Female'),
    )
    SECTION_CHOICES = (
        ('1', '1'),
        ('2', '2'),
        ('3', '3'),
    )
    department = models.CharField(choices=DEPARTMENT_CHOICES, max_length=3)
    dep_section = models.IntegerField(choices=SEMESTER_CHOICES)
    sem = models.IntegerField(choices=SEMESTER_CHOICES)
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
    s_code = models.IntegerField(unique=True, primary_key=True, default=None)

**

...