Sqlalchemy python – sqlalchemy игнорирует datetime.utcnow() и datetime.now(timezone.utc) и устанавливает значение NonePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Sqlalchemy python – sqlalchemy игнорирует datetime.utcnow() и datetime.now(timezone.utc) и устанавливает значение None

Сообщение Anonymous »

По учебнику, с которым ранее не было такой проблемы. Вот код Python:

Код: Выделить всё

from flask import Flask, render_template, redirect, flash, url_for
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime, timezone

app = Flask(__name__)

SECRET_KEY = "SECRET_KEY"
app.config["SECRET_KEY"] = SECRET_KEY
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///site.db"

db = SQLAlchemy(app)

class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False, default="default.jpg")
password = db.Column(db.String(60), nullable=False)

posts = db.relationship("Post", backref="author", lazy="subquery")

def __repr__(self):
return f"User('{self.username}', '{self.email}', '{self.image_file}')"

class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
date_posted = db.Column(db.DateTime, nullable=False, default=datetime.now(timezone.utc))
content = db.Column(db.Text, nullable=False)

user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)

def __repr__(self):
return f"Post('{self.title}', '{self.date_posted}')"
Вот данные терминала:

Код: Выделить всё

>>> from myapp1 import app, db, User, Post
>>> with app.app_context():
>>>     post1 = Post(title="title1", content="content1", user_id=1)

>>> post1
>>> Post('title1', 'None')
То же самое происходит с date_posted = db.Column(db.DateTime, nullable=False, default=datetime.now(timezone.utc)).
Есть ли в моем коде ошибка, из-за которой он возвращает None? Если нет, есть ли другой способ вернуть значение DateTime now в sqlalchemy? Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... -nowtimezo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»