2011-07-26 60 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