我不能使用主键CharField 选择部门有 MySQL 数据库。我收到以下错误:
DoesNotExist:部门匹配查询不存在。
我通过使用all()
检索主键然后重新注入get()
进行测试,然后就可以了。 但直接表示不起作用的值:
>>> dept = Department.objects.all()[43].pk
>>> print dept
Haute-Vienne
>>> print type(dept)
<type 'unicode'>
>>> test = unicode('Haute-Vienne')
>>> print test
Haute-Vienne
>>> print type(test)
<type 'unicode'>
>>> print '---'
>>> dept1 = Department.objects.get(name=dept)
>>> print dept1
Haute-Vienne
>>> dept2 = Department.objects.get(name=test)
...
Department matching query does not exist.
Models.py:
class Department(models.Model):
num_reg = models.ForeignKey(Region)
num_depts = models.CharField(_(u'Department number'), max_length=3, unique=True)
name = models.CharField(_(u'Name'), max_length=255, primary_key=True, blank=False)
def __unicode__(self):
return self.pk
答案 0 :(得分:0)
而不是:
dept2 = Department.objects.get(name=test)
尝试:
dept2 = Department.objects.get(name=test.name)