2006年10月18日 星期三 19:01
¿´ÁËdjango¹Ù·½µÄÀý×Ó£¬×Ô¼º·Â×Åдһ¸ö¶à¶Ô¶àµÄtag²¿·Ö¡£ for t in tags: tagobj = Tags(tagname = t) tagobj.save() tagobj.username.add(request.user) tagobj.save() userÊÇΪÁËͳ¼Æ¸ÃtagΪÄÄЩÓû§µÄ˽ÈËtag£¬ÔÚÈ«¾Ö²é¿´tagʱ²»»áÏÔʾ£¬ÔÚÓû§²é¿´×Ô¼ºËùʹÓõÄtagʱÏÔʾ ÓиöÎÊÌâÊÇ£¬Ã²ËÆûÓÐsave¾ÍÎÞ·¨¼ÌÐø¶à¶Ô¶à×ֶεÄÌí¼Ó£¨ÈçºóÃæµÄtagobj.username.add(request.user)£© ¿ÉÊÇÈç¹ûÏñÕâÑù£¬Ã¿Ìí¼ÓÒ»¸ötagÎÒ¾ÍÒªsaveÁ½´Î£¬Ò»´ÎÌí¼Ó¶à¸ötagÎÒ¾ÍÊÇN´Î ͬʱÓÐy¸öÓû§Ìí¼ÓÎÒ¾ÍÊÇN*y´Î ÎÒ¾õµÃʵ¼ÊÓ¦ÓÃÖв»»áÕâÑù°É£¿»á²»»á¶ÔÊý¾Ý¿âЧÂʲúÉú½Ï´óÓ°Ï죿Èç¹ûÓУ¬Äܹ»Ö¸µãÏÂÓÅ»¯·½·¨ÄØ£¿Ð»Ð» -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061018/904b9f3b/attachment.html
2006年10月18日 星期三 20:10
On 10/18/06, 风向标 <vaneoooo在gmail.com> wrote: > > 看了django官方的例子,自己仿着写一个多对多的tag部分。 > > for t in tags: > tagobj = Tags(tagname = t) > tagobj.save() > tagobj.username.add(request.user) > tagobj.save() > > user是为了统计该tag为哪些用户的私人tag,在全局查看tag时不会显示,在用户查看自己所使用的tag时显示 > > 有个问题是,貌似没有save就无法继续多对多字段的添加(如后面的tagobj.username.add(request.user)) > > 可是如果像这样,每添加一个tag我就要save两次,一次添加多个tag我就是N次 > > 同时有y个用户添加我就是N*y次 > > 我觉得实际应用中不会这样吧?会不会对数据库效率产生较大影响?如果有,能够指点下优化方法呢?谢谢 对于一次加入多个你再看一下文档,是可以一次加入多个的。save的目的是要产生id,不save的话id就生成不了。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2006年10月18日 星期三 20:18
limodouÐÖ ¿ÉÊÇÎÒËùÒª¼ÓÈëµÄ¾ÍÓû§¾ÍuserÒ»¸ö ÒòΪ´´½¨tagµÄÓû§Í¨³£¾ÍÒ»¸ö£¨ºóÆÚ¿ÉÄÜÊǶà¸öÖظ´Ê¹ÓÃͬÑùtag£©£¬Ä¿Ç°¶àµÄ²¿·ÖÊÇtag Ò»¸öÓû§¿ÉÄÜÒ»´ÎÉú³É¶à¸ötag È»ºóÿ¸ötagÒªÖ¸¶¨Ê¹ÓÃËûµÄÓû§¡£»¹ÊǵÃÿһ¸ö¶¼save£¬È»ºóÔÙÖ¸¶¨Éú³É¸ÃtagµÄÓû§ÊÇË ºÃÏñûÓÐÒ»´ÎÌí¼Ó¶à¸ötag£¬È»ºóÖ»Ö¸¶¨Ò»´Îuser£¬È»ºóÓ¦Óõ½Ö®Ç°ËùÓÐtag¶ÔÏóusername×ֶεķ½·¨°É£¿ ²»ÊÇÿ¸ötag¶ÔÏóµÄusername×ֶζ¼ÒªÖ¸¶¨Ò»´Îuser£¬²ÅÄܽ¨Á¢¶à¶Ô¶à¹ØϵÂ𣿠= = ºÃÏñ»¹ÊǵÄÿ¸ösaveһϠ2006/10/18, limodou <limodou在gmail.com>: > > On 10/18/06, ·çÏò±ê <vaneoooo在gmail.com> wrote: > > > > ¿´ÁËdjango¹Ù·½µÄÀý×Ó£¬×Ô¼º·Â×Åдһ¸ö¶à¶Ô¶àµÄtag²¿·Ö¡£ > > > > for t in tags: > > tagobj = Tags(tagname = t) > > tagobj.save() > > tagobj.username.add(request.user) > > tagobj.save() > > > > userÊÇΪÁËͳ¼Æ¸ÃtagΪÄÄЩÓû§µÄ˽ÈËtag£¬ÔÚÈ«¾Ö²é¿´tagʱ²»»áÏÔʾ£¬ÔÚÓû§²é¿´×Ô¼ºËùʹÓõÄtagʱÏÔʾ > > > > ÓиöÎÊÌâÊÇ£¬Ã²ËÆûÓÐsave¾ÍÎÞ·¨¼ÌÐø¶à¶Ô¶à×ֶεÄÌí¼Ó£¨ÈçºóÃæµÄtagobj.username.add(request.user)£© > > > > ¿ÉÊÇÈç¹ûÏñÕâÑù£¬Ã¿Ìí¼ÓÒ»¸ötagÎÒ¾ÍÒªsaveÁ½´Î£¬Ò»´ÎÌí¼Ó¶à¸ötagÎÒ¾ÍÊÇN´Î > > > > ͬʱÓÐy¸öÓû§Ìí¼ÓÎÒ¾ÍÊÇN*y´Î > > > > ÎÒ¾õµÃʵ¼ÊÓ¦ÓÃÖв»»áÕâÑù°É£¿»á²»»á¶ÔÊý¾Ý¿âЧÂʲúÉú½Ï´óÓ°Ï죿Èç¹ûÓУ¬Äܹ»Ö¸µãÏÂÓÅ»¯·½·¨ÄØ£¿Ð»Ð» > > ¶ÔÓÚÒ»´Î¼ÓÈë¶à¸öÄãÔÙ¿´Ò»ÏÂÎĵµ£¬ÊÇ¿ÉÒÔÒ»´Î¼ÓÈë¶à¸öµÄ¡£saveµÄÄ¿µÄÊÇÒª²úÉúid£¬²»saveµÄ»°id¾ÍÉú³É²»ÁË¡£ > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061018/c278de91/attachment.html
2006年10月18日 星期三 20:21
On 10/18/06, 风向标 <vaneoooo在gmail.com> wrote: > > limodou兄 > > 可是我所要加入的就用户就user一个 > 因为创建tag的用户通常就一个(后期可能是多个重复使用同样tag),目前多的部分是tag > 一个用户可能一次生成多个tag > > 然后每个tag要指定使用他的用户。还是得每一个都save,然后再指定生成该tag的用户是谁 > > 好像没有一次添加多个tag,然后只指定一次user,然后应用到之前所有tag对象username字段的方法吧? > > 不是每个tag对象的username字段都要指定一次user,才能建立多对多关系吗? > > = = 好像还是的每个save一下 > > 那你对每个创建的tag做一个循环就可以了。先生成tag,然后增加用户,循环一下不就行了。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2006年10月18日 星期三 20:35
ÏÖÔÚÒ²ÊÇ×ܹ²Ñ»·Ò»´Î ¾ÍÊÇÕë¶ÔtagµÄ×ֵ䣬Öð¸öÈ¡³ötagÈ»ºó±£´æ Îҵĵ£ÓÇÊÇҪƵ·±µÄ¶ÔÊý¾Ý¿âÖ´ÐдæÈësave£¨£© »á²»»á¶ÔÐÔÄÜÓֽϴóÓ°Ïì Èç¹ûÓУ¬Õâ¸ö´úÂëÄܲ»ÄÜÔÙÔõôÓÅ»¯Ò»Ï 2006/10/18, limodou <limodou在gmail.com>: > > On 10/18/06, ·çÏò±ê <vaneoooo在gmail.com> wrote: > > > > limodouÐÖ > > > > ¿ÉÊÇÎÒËùÒª¼ÓÈëµÄ¾ÍÓû§¾ÍuserÒ»¸ö > > ÒòΪ´´½¨tagµÄÓû§Í¨³£¾ÍÒ»¸ö£¨ºóÆÚ¿ÉÄÜÊǶà¸öÖظ´Ê¹ÓÃͬÑùtag£©£¬Ä¿Ç°¶àµÄ²¿·ÖÊÇtag > > Ò»¸öÓû§¿ÉÄÜÒ»´ÎÉú³É¶à¸ötag > > > > È»ºóÿ¸ötagÒªÖ¸¶¨Ê¹ÓÃËûµÄÓû§¡£»¹ÊǵÃÿһ¸ö¶¼save£¬È»ºóÔÙÖ¸¶¨Éú³É¸ÃtagµÄÓû§ÊÇË > > > > ºÃÏñûÓÐÒ»´ÎÌí¼Ó¶à¸ötag£¬È»ºóÖ»Ö¸¶¨Ò»´Îuser£¬È»ºóÓ¦Óõ½Ö®Ç°ËùÓÐtag¶ÔÏóusername×ֶεķ½·¨°É£¿ > > > > ²»ÊÇÿ¸ötag¶ÔÏóµÄusername×ֶζ¼ÒªÖ¸¶¨Ò»´Îuser£¬²ÅÄܽ¨Á¢¶à¶Ô¶à¹ØϵÂ𣿠> > > > = = ºÃÏñ»¹ÊǵÄÿ¸ösaveһϠ> > > > > ÄÇÄã¶Ôÿ¸ö´´½¨µÄtag×öÒ»¸öÑ»·¾Í¿ÉÒÔÁË¡£ÏÈÉú³Étag£¬È»ºóÔö¼ÓÓû§£¬Ñ»·Ò»Ï²»¾ÍÐÐÁË¡£ > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061018/d1389545/attachment.htm
2006年10月18日 星期三 20:43
On 10/18/06, 风向标 <vaneoooo在gmail.com> wrote: > 现在也是总共循环一次 > > 就是针对tag的字典,逐个取出tag然后保存 > > 我的担忧是要频繁的对数据库执行存入save() > 会不会对性能又较大影响 > 如果有,这个代码能不能再怎么优化一下 > 如果有事务的话,应该性能没有什么问题。你不是说有多个tag,怎么现在又循环一次了? -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2006年10月18日 星期三 20:46
= =£¡ ¶Ô²»ÆðlimodouÐÖ¡£ÎÒ±í´ïÓÖÆçÒå¡£ ÎÒÊÇÖ¸¶à¸ötag´æ·Åµ½Ò»¸ötags×ÖµäÀï ¶ÔÕâ¸ötags×Öµä¾Í½øÐÐÒ»´ÎÑ»·£¬Öð¸öÈ¡³öÀïÃæµÄËùÓÐtagÈ»ºó±£´æÆðÀ´¡£ ÔÙ¶Ôÿ¸ötag ¶ÔÏóÖ¸¶¨ËüµÄʹÓÃÕß»òÕß´´½¨Õß Àí½âÁË£¬È«²¿×öÍêÒÔºóÎÒÔÙÖع¹ËùÓдúÂ룬ÓÅ»¯ËûÃÇ°É Ð»Ð»£¡£¡ 2006/10/18, limodou <limodou在gmail.com>: > > On 10/18/06, ·çÏò±ê <vaneoooo在gmail.com> wrote: > > ÏÖÔÚÒ²ÊÇ×ܹ²Ñ»·Ò»´Î > > > > ¾ÍÊÇÕë¶ÔtagµÄ×ֵ䣬Öð¸öÈ¡³ötagÈ»ºó±£´æ > > > > Îҵĵ£ÓÇÊÇҪƵ·±µÄ¶ÔÊý¾Ý¿âÖ´ÐдæÈësave£¨£© > > »á²»»á¶ÔÐÔÄÜÓֽϴóÓ°Ïì > > Èç¹ûÓУ¬Õâ¸ö´úÂëÄܲ»ÄÜÔÙÔõôÓÅ»¯Ò»Ï > > > Èç¹ûÓÐÊÂÎñµÄ»°£¬Ó¦¸ÃÐÔÄÜûÓÐʲôÎÊÌâ¡£Äã²»ÊÇ˵Óжà¸ötag£¬ÔõôÏÖÔÚÓÖÑ»·Ò»´ÎÁË£¿ > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061018/65c79c11/attachment.html
Zeuux © 2025
京ICP备05028076号