擅长:python、mysql、java
<p><em>NB:根据您的问题,以下是我对您看到的情况的最佳猜测。如果我猜错了,请用更多的细节更新你的帖子——在你的代码中放入<code>print</code>语句,并将输出添加到帖子中,这将是一个好的开始。</em></p>
<p>字符串上的<code>u</code>前缀表示Unicode字符串。它实际上不是字符串内容的一部分。如果我们在解释器中创建字符串:</p>
<pre><code>>>> name = u'Me'
</code></pre>
<p>然后请求字符串的详细信息</p>
^{pr2}$
<p>然后,<code>u</code>显示为它是有关字符串的信息的一部分,这正是我们所要求的。如果我们打印字符串的内容</p>
<pre><code>>>> print name
Me
</code></pre>
<p>那么<code>u</code>就不显示了(就像引号没有显示一样)。在</p>
<p>使用解释器尝试重现您的问题,我创建了一个新用户,用户名使用Unicode字符串:</p>
<pre><code>>>> from django.contrib.auth.models import User
>>> new_user = User()
>>> new_user.username = u'Me'
>>> new_user.save()
</code></pre>
<p>如前所述,如果我们请求有关字符串的详细信息,我们会看到<code>u</code>和引号,但如果我们打印字符串的内容,则不会:</p>
<pre><code>>>> new_user.username
u'Me'
>>> print new_user.username
>>> Me
</code></pre>
<p>为了进一步确认<code>u</code>没有被存储,我们可以直接浏览数据库:</p>
<pre><code>sqlite> select username from auth_user;
Me
</code></pre>