Django可以建立指向自己model的外键吗?,djangomodel,如题,试着用django
Django可以建立指向自己model的外键吗?,djangomodel,如题,试着用django
如题,试着用django系统做一个微博系统,在建立user model时使用的是OneToOne的方式扩展django.contrib.auth.admin的User,但出了点问题,想实现微博上关注和粉丝的功能,这样写报错
class weiboUser(models.Model): user = models.OneToOneField(User) fans = models.ForeignKey(weiboUser,related_name="fans") focus = models.ForeignKey(weiboUser,related_name="focus")
所以想问一下如何在model下建立指向自身model的外键?谢谢。
补充,参照了官方文档,做了以下修改,虽然不报错了,但无法同步数据库,求高人继续指导。
class weiboUser(models.Model): user = models.OneToOneField(User) fans = models.ManyToManyField('self',symmetrical=False) focus = models.ManyToManyField('self',symmetrical=False)
目测楼主不懂数据库
需要建立一个抽象类为父类,用代码说话:
class AbstractNavi(models.Model): parent = models.ForeignKey('self',blank=True, null=True, related_name='child') class Meta: abstract = True class Navi(AbstractNavi): """ Navi has four type: goods, news, page and custom """ STYLE_CHOICES = ( ('goods', 'goods'), ('news', 'news'), ('page', 'page'), ('custom', 'custom'), ) name = models.SlugField() #parent = models.ForeignKey('self', null=True, blank=True, related_name='child') style = models.SlugField(choices=STYLE_CHOICES) url = models.CharField(max_length=100, default='#') sort = models.IntegerField(default=1) is_display = models.BooleanField(default=True) def __unicode__(self): return self.name
编橙之家文章,
相关内容
- python list合并数据内有符号怎么处理,pythonlist,现在遇到
- 想用python调用windows录音机保存文件需要怎么做,,pyth
- 求教关于支付宝与银行卡自动转帐设置及安全性的问题
- 请问tornado异步下redirect问题,tornadoredirect,我本想实现一
- 求python大牛帮看看ctypes.string_at的问题,,代码我也放在
- Python元类怎么理解更好吸收,python元类理解,如题,py
- 那些知名BBS是用python写的呢?,bbspython写,有哪些用pyth
- Python将文件中空格变成换行的方法如何做,python换行
- python哪种方法可以实现同php中__call函数一样的功能?,
- 请问下载同样包chrome比easy_install下载要快得多吗,chr
评论关闭