@s4dd666

Как обратиться к элементу в другом классе?

class BaseModel(Model):
	def __init__(self, user_id, count_message, first_name, date_time_now):
		user_id = PrimaryKeyField(unique=True)
		count_message = IntegerField(default=0)
		first_name = CharField(null=True)
		date_time_now = DateTimeField(default=datetime.datetime.now)

	class Meta:
		database = db
		order_by = 'id'

class User_list(BaseModel):
	def __init__(self, last_name, phone_num, join_date_time):
		last_name = CharField(null=True)
		phone_num = CharField(null=True, unique=True)
		join_date_time = ?  # Нужно обратиться к date_time_now в BaseModel

	class Meta:
		db_table = 'users'

class User_message(BaseModel):
	def __init__(self, message_num, message_text, message_date_time):
		message_num = ?  # Нужно обратиться к count_message в BaseModel
		message_text = CharField()
		message_date_time = ?  # Нужно обратиться к date_time_now в BaseModel

	class Meta:
		db_table = 'users_messages'
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
@imageman
а self.count_message не работает? А, понятно - внутри _init_ ты определил кучку локальных переменных, а думаешь, что это переменные класса. Всюду нужно писать что-то вроде self.user_id = PrimaryKeyField(unique=True)
посмотри как пишут в Описание python ООП (можешь поиском поискать там "self.")

Добавление: забыт вызов инициализации родителя. Вроде как первой строкой инита нужно ставить super().__init__()

class User_message(BaseModel):
  def __init__(self, message_num, message_text, message_date_time):
    super().__init__()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы