Форум сайта python.su
Не понимаю почему когда я использую ForeignKey в поле добавляется суффикс _id. Подскажите почему это происходит и как это отключить?
class TDepartmentList(models.Model):
t_rec_id = models.IntegerField(unique=True, primary_key=True)
t_department_name = models.CharField(unique=True, max_length=100)
t_department_parent = models.IntegerField()
t_dep_group = models.IntegerField()
t_notes = models.CharField(max_length=200)
t_rec_delete = models.IntegerField()
class Meta:
db_table = u't_department_list'
class TUserList(models.Model):
t_rec_id = models.CharField(unique=True, max_length=24, primary_key=True)
t_user_name1 = models.CharField(max_length=50)
t_user_name2 = models.CharField(max_length=50)
t_user_name3 = models.CharField(max_length=50)
t_user_job = models.CharField(max_length=250)
t_phone_shot = models.CharField(max_length=50)
t_phone_city = models.CharField(max_length=50)
t_phone_m = models.CharField(max_length=50)
t_phone_h = models.CharField(max_length=50)
t_email = models.CharField(max_length=50)
t_department_kod = models.ForeignKey(TDepartmentList)
t_head_flag = models.IntegerField()
t_login = models.CharField(unique=True, max_length=50)
t_passwd = models.CharField(max_length=50)
t_session = models.CharField(max_length=250)
t_ip = models.CharField(max_length=20)
t_last = models.DateTimeField()
t_rec_delete = models.IntegerField()
t_auth_type = models.CharField(max_length=5)
t_iss_login = models.CharField(max_length=50)
class Meta:
db_table = u't_user_list'
l=TUserList.objects.get()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/models/manager.py", line 132, in get
return self.get_query_set().get(*args, **kwargs)
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/models/query.py", line 344, in get
num = len(clone)
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/models/query.py", line 82, in __len__
self._result_cache = list(self.iterator())
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/models/query.py", line 273, in iterator
for row in compiler.results_iter():
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/models/sql/compiler.py", line 680, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/models/sql/compiler.py", line 735, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/backends/util.py", line 34, in execute
return self.cursor.execute(sql, params)
File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/db/backends/postgresql/base.py", line 57, in execute
return self.cursor.execute(smart_str(sql, self.charset), self.format_params(params))
DatabaseError: ERROR: колонка t_user_list.t_department_kod_id не существует
LINE 1: ..._user_list"."t_phone_h", "t_user_list"."t_email", "t_user_li...
Отредактировано (Авг. 31, 2011 08:18:19)
Офлайн
Офлайн