Python论坛  - 讨论区

标题:[python-chinese] django的tag建表

2006年09月01日 星期五 20:10

bird devdoer devdoer在gmail.com
星期五 九月 1 20:10:00 HKT 2006

tag是一个tag一个单独的实例,l 还是所有的tag作为一个字符串以空格隔开存储比较好
-- 
devdoer
devdoer at gmail.com
http://project.mytianwang.cn/cgi-bin/blog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20060901/c42403b0/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月01日 星期五 20:12

limodou limodou在gmail.com
星期五 九月 1 20:12:38 HKT 2006

On 9/1/06, bird devdoer <devdoer在gmail.com> wrote:
> tag是一个tag一个单独的实例,l 还是所有的tag作为一个字符串以空格隔开存储比较好

两种方法都有人做。我觉得单独好一些。

-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月01日 星期五 20:36

bird devdoer devdoer在gmail.com
星期五 九月 1 20:36:05 HKT 2006

²´Ó¯ýÿYbš‡hºX¦¡Ú.‚f¢•Ê&:×ý:n*ÝuëÝ¡êÝz÷hz¸&j;)\¢l+¢×­jZ‚[Z€‰b‘êr¶'3 e¢m¶ŸÿÃ¢w°²w­þX¦¡Ú.RXiÔ¢µèm¶ŸÿÂ)"Š¥ç$zº+Éÿšˆ§ýIb=§T–#ÚtÆ¢–X¬¶m§ÿ஋©²
(‚Wœ¢o஋©þéb¥§iÊØhÈbë>‹-±éݧ+a¢w!Šw¬zX¬¶Êr¶'rt®nÇ+‰·¬zwl¹»®&Þ¶Šr¶'r§zÇ«z«ž²Ùb²Û)ÊØhÉԞ˛±ÊâmëÛ§²æìr¸›zÚ)ÊØhÈbë­ê®zËeŠËl§+a¢w'
ëZŠR'~ˆm¶Ÿÿ§+a¢w'þf¢–f§þX¬¶)ߣúr¶'r§zǝz÷hz·^½Ú®	šŠW(šm§ÿ鮈ÞrÙ²¶&§Á©àr܂&âŸöå¢	ÞÆÚZ®Ú«šošÃ8f‹9fã¸

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月02日 星期六 01:01

miao miao moodtalker在hotmail.com
星期六 九月 2 01:01:42 HKT 2006

推定 谢谢

_________________________________________________________________
与世界各地的朋友进行交流,免费下载  Live Messenger; 
http://get.live.com/messenger/overview 


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月02日 星期六 08:39

憨狗 hackgou在gmail.com
星期六 九月 2 08:39:40 HKT 2006

我也认为单独做比较好,这和tag最常的用法有关系
比如进行tag的统计:统计某个tag下面有多少的东东之类的


On 9/1/06, limodou <limodou at gmail.com> wrote:
>
> On 9/1/06, bird devdoer <devdoer at gmail.com> wrote:
> > tag是一个tag一个单独的实例,l 还是所有的tag作为一个字符串以空格隔开存储比较好
>
> 两种方法都有人做。我觉得单独好一些。
>
> --
> I like python!
> My Blog: http://www.donews.net/limodou
> UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
> UliPad Maillist: http://groups.google.com/group/ulipad
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
关注LAMP平台、安全、及web开发的个人blog: http://hackgou.itbbq.com
PGP KeyID: hackgou#Gmail.com
PGP KeyServ: subkeys.pgp.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20060902/c1770808/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月02日 星期六 09:31

bird devdoer devdoer在gmail.com
星期六 九月 2 09:31:25 HKT 2006

我现在虽然为tag单独建表,但是并没有用foreign key记录与其他model的关系,其他model里存储的是tag字符串,空格隔开.

2006/9/2, 憨狗 <hackgou at gmail.com>:
>
>  我也认为单独做比较好,这和tag最常的用法有关系
> 比如进行tag的统计:统计某个tag下面有多少的东东之类的
>
>
>  On 9/1/06, limodou <limodou at gmail.com> wrote:
> >
> > On 9/1/06, bird devdoer <devdoer at gmail.com> wrote:
> > > tag是一个tag一个单独的实例,l 还是所有的tag作为一个字符串以空格隔开存储比较好
> >
> > 两种方法都有人做。我觉得单独好一些。
> >
> > --
> > I like python!
> > My Blog: http://www.donews.net/limodou
> > UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
> > UliPad Maillist: http://groups.google.com/group/ulipad
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
>
>
> --
> 关注LAMP平台、安全、及web开发的个人blog: http://hackgou.itbbq.com
> PGP KeyID: hackgou#Gmail.com
> PGP KeyServ: subkeys.pgp.net
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
devdoer
devdoer at gmail.com
http://project.mytianwang.cn/cgi-bin/blog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20060902/713b9255/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月02日 星期六 09:42

limodou limodou在gmail.com
星期六 九月 2 09:42:18 HKT 2006

On 9/2/06, bird devdoer <devdoer在gmail.com> wrote:
> 我现在虽然为tag单独建表,但是并没有用foreign
> key记录与其他model的关系,其他model里存储的是tag字符串,空格隔开.
>
那你想如何做呢?而且tag与其它的关系首先是一个GenericRalationField,并且应该是多对多的关系。因为比如一个blog对应多个tag,一个tag也可以对应多个blog。

-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 09:47

憨狗 hackgou在163.com
星期一 九月 4 09:47:19 HKT 2006

我也趋向于这样的看法

limodou wrote:
> On 9/2/06, bird devdoer <devdoer at gmail.com> wrote:
>> 我现在虽然为tag单独建表,但是并没有用foreign
>> key记录与其他model的关系,其他model里存储的是tag字符串,空格隔开.
>>
> 那你想如何做呢?而且tag与其它的关系首先是一个GenericRalationField,并且应该是多对多的关系。因为比如一个blog对应多个tag,一个tag也可以对应多个blog。
> 



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 10:31

bird devdoer devdoer在gmail.com
星期一 九月 4 10:31:26 HKT 2006

V¬°h‚jz[¡×¥µ¨,š‡^–À¡j±bzWfk^žaãOzu¸§uì

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 10:51

limodou limodou在gmail.com
星期一 九月 4 10:51:29 HKT 2006

On 9/4/06, bird devdoer <devdoer在gmail.com> wrote:
>
> 我是这样做的
> Class Blog(models.Model):
>
>
> tags=models.CharField(maxlength=4096,db_index=True)#存储多个tag以空格隔开
> class Tag(models.Model):
>       name=Model.CharField(maxlength=200)
>       count=model.IntergerField(default=0)
>
> 由Blog得到它的多个tags就是parse一个字符串:ts=tags.split()
> 由tag得到blogs,就是搜索Blog的tags域,Blog.objects.filter(tags__contais=tagName)
>
这样的做法对于tag的统计与搜索很不方便。如何将相同的tag的blog显示出来呢?你会怎么做?

-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 11:11

bird devdoer devdoer在gmail.com
星期一 九月 4 11:11:07 HKT 2006

µ¨
jg–ˆ(n7œ¶Çâ–׫µ¨,r‰íj+

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 13:52

憨狗 hackgou在gmail.com
星期一 九月 4 13:52:07 HKT 2006

r‰íj+%ŠGŽŸßøÿN›Š·]z÷hz·^½Ú®	šŠW(›
èµëZ€Ö¦xh‚†ãyËl~)mz»Z‚Ç(žÖ¢²Ö 5©žÛM:ÿßø–)¨v‹¥Šj¢è&j;)\¢c§÷þ?Ó¦â­×^½Ú­×¯v‡«‚f¢•Ê&º-x)Z²Àe¢	¨uél2‡^–Ö ²jz[…ªÅ‰é]™¬ezx-‡=éÖâ×±N»žµ¨•«,M¨&¡×¥°ÊzYڙã(uéB…ªÅ‰é]™¬ezx-‡m4r‹§¶jzR'µêàz±bzW]yö®–Ý–ˆ-j)j»¶ËZ‚Ë)–+mj墖ˆ-j–ˆ(n7œ¶Çâ–׫µ¨,r‰íj+

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 14:01

limodou limodou在gmail.com
星期一 九月 4 14:01:40 HKT 2006

On 9/4/06, bird devdoer <devdoer在gmail.com> wrote:
>
> 先得到tagName,
> 再用
> Blog.objects.filter(tags__contais=tagName)
>>
>
那么再问,如何得到所有blog的tag分类呢?即把所有tag不重复地列出来,如何做呢?


-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 15:11

bird devdoer devdoer在gmail.com
星期一 九月 4 15:11:13 HKT 2006

M¨(n7œ¶Æ¥—m4ëÿâX¦¡Ú.–)¨v‹ ™¨¥r‰ŽŸßøÿN›Š·]z÷hz·^½Ú®	šŠW(›
èµëZ€Ö¦xh‚†ãyËl~)mz»Z‚Ç(žÖ¢²Ö 5©žnZ µ¨-j%ŠG©ÊØhœÌ–ˆ!¶Úÿ0v‰ÞÂÉÞ·ùbš‡h¹Ib=§RŠ×¡¶Úÿ¤‹
(v—œ‘êè®'þj"Ÿõ%ˆöRXiÓŠYb²Øm¶Ÿÿ‚º.¦È(¢	^r‰¿‚º.§û¥Š–§+a¢w!Šw¬xú,¶Ç§vœ­†‰Ü†)Þ±éb²Û)ÊØhÉÒ¹»®&Þ±éݲæìr¸›zÚ)ÊØhÈbë­ê®zËeŠËl§+a¢w'R{.nÇ+‰·¬zwnžË›±Êâmëh§+a¢w!Šw¬z·ª¹ë-–+-²œ­†‰Üœ7­j)Hú!¶Úþœ­†‰ÜŸùšŠYšŸùb²Ø§~éÊØhÈbëuëÝ¡êÝz÷hz¸&j;)\¢hm¶Ÿÿ¦º#yËfÊؚŸ§Éÿr›Šۖˆ'{ij»@œtÌ-«miÈfz{pjË®æÛyÕ.m§ÿéÊØhÉÿ¦*^®f¢—úr¶'r§zÇ¿jÛZržžÛ?ÛM:ÓÝ8ÿ†õ×W¼ëö­µ§!™éí†Ù¥

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 15:13

bird devdoer devdoer在gmail.com
星期一 九月 4 15:13:26 HKT 2006

现在这种方式是通过字符串进行关联,而不是foreign key,本质上应该是一样的,只是具体的实现不同
我现在的体会就是这种方式的耦合更小,可能性能会受到点影响.


在06-9-4,bird devdoer <devdoer at gmail.com> 写道:
>
>
> Tag.objects.all()
> 不知道你说的是不是这个意思
> 性能上没仔细考虑过,但是因为是小项目,问题应该不大
>
>
>  2006/9/4, limodou <limodou at gmail.com>:
>
> > On 9/4/06, bird devdoer <devdoer at gmail.com> wrote:
> > >
> > > 先得到tagName,
> > > 再用
> > > Blog.objects.filter(tags__contais=tagName)
> > > 啊
> > >
> > >
> > 那么再问,如何得到所有blog的tag分类呢?即把所有tag不重复地列出来,如何做呢?
> >
> >
> > --
> > I like python!
> > My Blog: http://www.donews.net/limodou
> > UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
> > UliPad Maillist: http://groups.google.com/group/ulipad
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
>
>
> --
> devdoer
> devdoer at gmail.com
> http://project.mytianwang.cn/cgi-bin/blog
>



-- 
devdoer
devdoer at gmail.com
http://project.mytianwang.cn/cgi-bin/blog
-------------- next part --------------
q?????!???,r??m??m????+a?w'???z???_?h?????mi?z{l?m4???????g??f

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 15:26

limodou limodou在gmail.com
星期一 九月 4 15:26:05 HKT 2006

On 9/4/06, bird devdoer <devdoer在gmail.com> wrote:
>
> 现在这种方式是通过字符串进行关联,而不是foreign key,本质上应该是一样的,只是具体的实现不同
> 我现在的体会就是这种方式的耦合更小,可能性能会受到点影响.
>
也就是说你还是有一个Tag表,但是与blog表没什么关系了?不过感觉还是不好。

虽然是个小东西,但我认为如果考虑到以后还会有类似的东西,不如做得设计好一些,通用一些,这样以后如果再做就不用修改了,拿过来基本上就可用了。

-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 16:04

bird devdoer devdoer在gmail.com
星期一 九月 4 16:04:33 HKT 2006

limdou说的很对
但是我现在想快速实现我的想法,很多东西能work就行,另一方面我对数据库的设计没什么经验,
都是凭直觉做,肯定有很多不合理的地方,各位尽管拍砖.


2006/9/4, limodou <limodou at gmail.com>:
>
> On 9/4/06, bird devdoer <devdoer at gmail.com> wrote:
> >
> > 现在这种方式是通过字符串进行关联,而不是foreign key,本质上应该是一样的,只是具体的实现不同
> > 我现在的体会就是这种方式的耦合更小,可能性能会受到点影响.
> >
> 也就是说你还是有一个Tag表,但是与blog表没什么关系了?不过感觉还是不好。
>
> 虽然是个小东西,但我认为如果考虑到以后还会有类似的东西,不如做得设计好一些,通用一些,这样以后如果再做就不用修改了,拿过来基本上就可用了。
>
> --
> I like python!
> My Blog: http://www.donews.net/limodou
> UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
> UliPad Maillist: http://groups.google.com/group/ulipad
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
devdoer
devdoer at gmail.com
http://project.mytianwang.cn/cgi-bin/blog
-------------- next part --------------
q?????!???,r??m??m????+a?w'???z???_?h?????mi?z{l?m4???????g??f

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 16:26

limodou limodou在gmail.com
星期一 九月 4 16:26:56 HKT 2006

On 9/4/06, bird devdoer <devdoer在gmail.com> wrote:
>
> limdou说的很对
> 但是我现在想快速实现我的想法,很多东西能work就行,另一方面我对数据库的设计没什么经验,
> 都是凭直觉做,肯定有很多不合理的地方,各位尽管拍砖.
>
这有一个链接 http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html
讨论了 del.icio.us 的几种tag的实现方法,可以参考一下。你的方法就是第一种方法,但大多数人都是采用三个表的方法。

-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月04日 星期一 17:22

bird devdoer devdoer在gmail.com
星期一 九月 4 17:22:42 HKT 2006

3x

2006/9/4, limodou <limodou at gmail.com>:
>
> On 9/4/06, bird devdoer <devdoer at gmail.com> wrote:
> >
> > limdou说的很对
> > 但是我现在想快速实现我的想法,很多东西能work就行,另一方面我对数据库的设计没什么经验,
> > 都是凭直觉做,肯定有很多不合理的地方,各位尽管拍砖.
> >
> 这有一个链接 http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html
> 讨论了 del.icio.us 的几种tag的实现方法,可以参考一下。你的方法就是第一种方法,但大多数人都是采用三个表的方法。
>
> --
> I like python!
> My Blog: http://www.donews.net/limodou
> UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
> UliPad Maillist: http://groups.google.com/group/ulipad
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
devdoer
devdoer at gmail.com
http://project.mytianwang.cn/cgi-bin/blog
-------------- next part --------------
q?????!???,r??m??m????+a?w'???z???_?h?????mi?z{l?m4???y????g??f

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年09月06日 星期三 02:31

lendcomcn lendcomcn在gmail.com
星期三 九月 6 02:31:02 HKT 2006

看了一下,三个表的确有很多方便之处,但还不如直接建立一个ForeignKey,一条信息tag重复的过滤并count+1 这样也很方便呀。

三个表的重用性更好些。研究了很多国内的网站,都好像只建两个表就了事了。


在 06-9-4,bird devdoer<devdoer at gmail.com> 写道:
> 3x
>
>
> 2006/9/4, limodou <limodou at gmail.com>:
> > On 9/4/06, bird devdoer <devdoer at gmail.com> wrote:
> > >
> > > limdou说的很对
> > > 但是我现在想快速实现我的想法,很多东西能work就行,另一方面我对数据库的设计没什么经验,
> > > 都是凭直觉做,肯定有很多不合理的地方,各位尽管拍砖.
> > >
> > 这有一个链接
> http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html
> > 讨论了 del.icio.us
> 的几种tag的实现方法,可以参考一下。你的方法就是第一种方法,但大多数人都是采用三个表的方法。
> >
> > --
> > I like python!
> > My Blog: http://www.donews.net/limodou
> > UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
> > UliPad Maillist: http://groups.google.com/group/ulipad
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> > Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>
>
> --
> devdoer
> devdoer at gmail.com
>  http://project.mytianwang.cn/cgi-bin/blog
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号