2011-07-26 134 views
0

由于Django不接受外键作为slu,,我目前没有在我的模型上设置slu gs,但是我在模型中有slu field字段。为了快速获得我的slu,声,我创建了一个列出所有问题的页面,并使用{{ issue|slugify }}并使它们按ID排序(这与我的PostgreSQL表中的ID相同)。在PostgreSQL中,我也可以通过ID对问题表进行排序。在多个PostgreSQL行中插入数据

所以我的问题是如何将新闻slu insert插入数据库? **我不熟悉PostgreSQL,所以宝宝说话会很好。

+0

我不仅在这里有点困惑,而且我想你可能也是。 'ForeignKeyField'只是一个表中的一个整数字段,其中包含某个其他表中记录的ID。一个'SlugField'是一个CharField,它有一些额外的限制/能力。这两者是无关的。我还会观察到,Django网站不适合技术上的挑战。您可以通过WordPress进行点击,而不是使用Django。 –

+0

“我目前没有在我的模型上设置slu gs,但是,我确实在模型中有slu field字段”这非常矛盾。所以我不积极询问你的问题 – John

+0

你说得对。对不起,有一个错字。我的意思是我有slug字段,但是没有关于每个项目的数据。所以,我想要做的是用文本更新slugfield,而不必实际浏览管理员中的每个项目。这将是有时限的,因为我确信还有其他方法可以做到这一点。我所要求的是更新每个项目的slugfield。我知道'SlugField'是一个简单的'CharField'。顺便说一下,我已经超过了Wordpress,并且自从我在过去的两个月里使用它以来,我一直能够在Django中表现良好。亲爱的上帝。 – AAA

回答

1

如果你只是希望为您的所有现有的模型,你应该能够做这样的更新您的塞字段的值:

from django.db import F 
from django.template.defaultfilters import slugify 
YourModel.objects.all().update(your_slug_field=slugify(F('the_field_youre_slugging'))) 

我没有测试这个虽然。

但是,它也没有解决您在创建记录时如何设置slug字段。有多种方法可以做到这一点:重写save()方法,一个可调用的默认值,以及许多其他优点和缺点。

+0

我做了一个测试更新 - 它使得Django管理员中的Slugfield称为'default'。 – AAA