Получение первичного ключа (id) в приспособлении (Python, SQLAlchemy)

Я использую прибор для тестирования приложения Pylons, но я споткнулся при возникновении проблемы.

Допустим, у меня есть такой набор данных:

class CompanyData(DataSet):

    class test_company:
        company_full_name = u'Firma Tęst'
        company_short_name = u'TęstCo'

class UserData(DataSet):

    class test_user:
        user_login = 'testuser'
        user_password = 'test'
        company = CompanyData.test_company

Теперь проблема в том, что когда я использую эти данные в функциональном тесте (как описано на http://farmdev.com/projects / fixture / using-fixture-with-pylons. html ), я не могу получить идентификатор (первичный ключ) компании.

В моем приложении пользователь после входа в систему должен быть перенаправлен на страницу профиля компании, поэтому мне нужен идентификатор компании. Тест выглядит примерно так:

self.app.post(url(controller='main', action='login'), params={
    'login': UserData.test_user.user_login,
    'password': UserData.test_user.user_password
})

response = self.app.get(url(
    controller='events', action='index',
    company_id=UserData.test_user.company.company_id, # This doesn't work
    view='active'))
assert ... in response

Первый запрос регистрирует пользователя, а второй проверяет, может ли он после входа в систему получить доступ к странице профиля компании.

Таким образом я получаю:

AttributeError: class test_company имеет нет атрибута 'company_id'

Я также пробовал:

UserData.test_user.company.ref('company_id')

Но это приводит к:

что мне кажется странным ... Почему он не загружается?

Есть ли способ узнать, что такое первичный ключ?

7
задан Juliusz Gonera 15 January 2011 в 16:14
поделиться