PyCharm Sqlalchemy - добавить данные через терминал - PullRequest
0 голосов
/ 20 сентября 2018

поэтому я установил venv, а затем SQLalchemy

, затем я написал фрагмент кода Python на Pycharm:

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship

engine = create_engine('sqlite:///users.db', echo=True)
Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    fullname = Column(String)
    password = Column(String)

    def __repr__(self):
        return "<User(name='%s', fullname='%s', password='%s')>" % (
            self.name, self.fullname, self.password)

Base.metadata.create_all(bind=engine)
Session = sessionmaker(bind=engine)

session = Session()

users = session.query(User).all()
for user in users:
    print("User #%d with username=%s" % (user.id, user.name))

session.add(user)
session.commit()
session.close()

Теперь я хочу добавить пользователя через терминал PyCharm:

user = User(name='ed', fullname='Ed Jones', password='edspassword')

Но я получаю сообщение об ошибке:

«пользователь» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Что я делаю не так?

Спасибо:)

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

В нижней части окна есть консоль.Или, по крайней мере, должно быть.Если нет, в окне терминала введите

python

После этого вам нужно импортировать файл вашей модели, на моем сервере я бы сделал это следующим образом:

from app.models import User

Тогда вы можете:

user = User(...)

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

Затем вы можете сделать python и импортировать файл напрямую.После этого вы получите доступ к своему class в консоли и сможете добавлять пользователей вручную.

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

[ОБНОВЛЕНИЕ]

Перейти к терминалу ->

type cd C:\\path\to\pyfile ->

введите python ->

введите import mypyfile, и тогда у вас должен быть свой класс пользователя

[ALTERNATE METHOD]

Вы также можете прямо из терминала:

cd C:\\...\...\pyfile

python myfile.py

Кроме того, убедитесь, что вы активировали venv, прежде чем пытаться выполнить вышеизложенное, так как я могу предположить, что это не удастся, потому чтоsqlalchemy не установлен (но он есть только в venv).

0 голосов
/ 24 сентября 2018

Я на самом деле понял: (на этот раз я использовал GitBash)

сначала из папки моего проекта мне нужно активировать виртуальную среду source ~/venv/scripts/activate,

, затем набрать python,

после этого import myfilename (без ".py"),

и оттуда я могу from myfilename import User

теперь user = User(name='ed', fullname='Ed Jones', password='edspassword') работает простоотлично :) 1016 *

0 голосов
/ 20 сентября 2018

Введите python, прежде чем получить доступ к консоли Python.

C:.../>python
Python 3.5.4 (v3.5.4:3f56838, Aug  8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> user = User(name='ed', fullname='Ed Jones', password='edspassword')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...