Проверка наличия в таблице записей - модуль Peewee - PullRequest
0 голосов
/ 27 июня 2018

Я делаю школьное приложение для Python и модуля PeeWee. Все работает нормально, но проблема, с которой я сталкиваюсь, заключается в следующем:

При создании учетных записей пользователей учетная запись учащегося может быть создана ТОЛЬКО, если в базе данных имеется хотя бы одна учетная запись учителя (каждому учащемуся назначается учитель). Как я могу проверить, есть ли в моем учительском столе какие-нибудь экземпляры? Я хочу проверить это, прежде чем можно будет создать учетную запись студента.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Вы хотите, чтобы внешний ключ учителя учащегося (вы используете внешний ключ от ученика к учителю, верно?) Не обнулялся.

class Teacher(Model):
    name = TextField()

class Student(Model):
    name = TextField()
    teacher = ForeignKeyField(Teacher)

Затем база данных обеспечит, чтобы у каждого ученика был ненулевой (не пустой) учитель.

0 голосов
/ 27 июня 2018

Если я ясно понимаю вашу проблему, тогда вам нужен внешний ключ в таблице учеников. Если в таблице учеников есть столбец типа teacher_id, выполните следующие шаги

  1. Создать первичный ключ для идентификатора в таблице учителя
  2. Создайте внешний ключ для teacher_id в таблице учеников, и значение teacher_id не является нулевым

Если у вас есть внешний ключ в таблице учеников, база данных автоматически проверит, существует учитель или нет если учителя не существует, он выдаст ошибку.

...