Ottenere la chiave primaria (id) nel dispositivo (Python, SQLAlchemy)
-
11-10-2019 - |
Domanda
apparecchio per testare un'applicazione Piloni, ma sono incappato in un problema.
dire Let mi hanno tale insieme di dati:
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
Ora, il problema è che quando uso questi dati in un test funzionale (come descritto in http://farmdev.com/projects/fixture/using-fixture-with-pylons.html ), non riesco a ottenere l'id (chiave primaria) della società.
Nella mia applicazione l'utente dopo l'accesso dovrebbe essere reindirizzati alla pagina di profilo aziendale e per questo ho bisogno id della società. Gli sguardi dei test più o meno in questo modo:
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
I primi registri delle richieste del manuale e la seconda controlla se dopo l'accesso può accedere alla pagina del profilo aziendale.
In questo modo ottengo:
AttributeError: class test_company ha nessun attributo 'company_id'
Ho anche provato:
UserData.test_user.company.ref('company_id')
Ma si traduce in:
che sembra strano per me ... Perché non è stato caricato?
C'è un modo di scoprire che cosa è la chiave primaria?
Soluzione
UserData.test_user.company.ref('id')
or
UserData.test_user.ref('company_id')