QuerySelectField работает на одном сервере, разбивается на другой с тем же кодом

Я нахожусь в установке тестовой установки моего текущего проекта Python / Django. Все отлично работает на моем dev-сервере, но недавно мы создали новую виртуальную машину для тестовых и возможных производственных копий проекта. Я использую Python, Django, SqlAlchemy (с бэкэнд MSSQL) и WTForms как мои основные пакеты.

У меня проблема, когда мой тестовый сервер работает неправильно. Я лично не настраивал или не устанавливал эти пакеты на любом сервере (это было сделано кем-то, кто сейчас ушел), поэтому я действительно не знаю всего об этом, но я знаю, что на моем тестовом сервере я был у меня много проблем, которые у меня нет на dev-сервере. Например, Django не правильно разрешал методы, когда я использовал их в шаблонах (он возвращал бы «связанный метод UserForm.action … и т. Д. Вместо возвращаемого значения), и теперь он, кажется, приписывает ряд вещей в целые числа, когда они никогда не объявляются таковыми. Версии python, django, wtforms, sqlalchemy одинаковы на всех серверах. Вот пример кода, который отлично работает на dev-сервере, но ломается на тестовом сервере (вместе с сообщением об ошибке):

forms.py:

class NewPracticeForm(wtforms.Form): Name = wtforms.TextField("Practice Name", [wtforms.validators.Required()]) OrgID = safields.QuerySelectField("Organization", pk_attr='OrgID') action = '/Admin/H/newpractice/' 

pulsedb.py (определение таблицы sqlalch):

 #engine created here, can include that if necessary but its just a standard engine=create_engine() using pymssql Base = declarative_base() metadata = Base.metadata class Practice(Base): __tablename__ = 'Practice' Name = Column(String(256) , nullable=False) OrgID = Column(String(30) , ForeignKey('dbo.Orglist.OrgID') , nullable=False) 

views.py:

 def partNewPractice(request): context = Context() frm = forms.NewPracticeForm() frm.OrgID.query = pwdb.session.query(pwdb.OrglistMap) context['form'] = frm #Return the response here using a method which just tacks a couple things on before returning a normal response 

Итак, я выбираю организацию из поля select, в которой размещаются сообщения OrgID = Z55 (поскольку таблица OrgID использует строку 3character в качестве столбца идентификатора), но где-то вдоль линии это вызывает проблему. Форма указывает на обработчик, который делает:

services.py

 def HandlerAddPractice(request): prac = pdb.Practice() frm = forms.NewPracticeForm(request.POST, obj=prac) frm.OrgID.query = pwdb.session.query(pwdb.OrglistMap) 

И это насколько это возможно, потому что программа выдает ошибку:

 invalid literal for int() with base 10: 'Z55' 

Я обнаружил, что это также происходит в аналогичном поле с QuerySelectField, где по какой-то причине он пытается преобразовать UUID в целое число. Есть где-то где-то, что мне не хватает? Я смог обойти метод, но на самом деле это не совсем то, что я могу игнорировать и работать на этом этапе. Благодаря! Любой другой код / ​​информация предоставляется по запросу. Кроме того, есть много других полей, но я оставил их в интересах краткости.

One Solution collect form web for “QuerySelectField работает на одном сервере, разбивается на другой с тем же кодом”

Это похоже на проблему с развертыванием.

Существует три способа развертывания django:

  1. установка системы
  2. разверните расширенный каталог django с вашим кодом, импортируйте с помощью относительного пути
  3. используя virtualenv

Моим подходом было бы выбрать один из этих вариантов (возможно, 2 или 3, также в зависимости от того, как вы устанавливаете другие зависимости, такие как SqlAlchemy); затем проверьте, нет ли конфликтов с другими развертываниями.

  • Лучший способ сохранить список python в базе данных?
  • Обратный кадр данных Pandas из запроса PostgreSQL с sqlalchemy
  • изменение в обработке импорта / модулей от python2 до python3?
  • Флакон SQL-Алхимия | MySql - проблемы с несколькими внешними ключами
  • как работают простые отношения SQLAlchemy?
  • Может ли SQLAlchemy использоваться с Google Cloud SQL?
  • SQLAlchemy StaleDataError при удалении элементов, вставленных через ORM sqlalchemy.orm.exc.StaleDataError
  • Поиск лучшей стратегии для SQLAlchemy bulk upsert
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.