Django可以建立指向自己model的外键吗?
如题,试着用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
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19405.html
相关文章 Recommend
- • mozio招聘Python/Django工程师
- • Python什么方法可以快速将两个队列变成字典
- • 如何为实时性应用存取经纬度?django mysql
- • 使用django在做添加superuser操作时报错\xBA\xA3像是乱
- • django-1.x windows环境 Error: 'SafeUnicode' object has no a
- • 环境部署问题,python web应用可以在代码中判断de
- • django中url无法include怎么配置?
- • 求分析django工程目录里找不到导入模块原因
- • python语言中两个不同模块可以互相导入吗?
- • Flask中的URL部分什么方法可以让它支持正则
- • python哪种方法可以实现同php中__call函数一样的功
- • 怎么样可以有效避免MongoDB注入时产生的一系列问
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • Python程序员解决棘手问题的常用库
- • 求助关于restfull api接口几个问题
- • qiniu pythonsdk提示ImportError错误求解
- • 问一个关于Hadoop Python中读写文件统计分析
- • 求问str()同__str__原理上有什么不同,分别在
- • 大神帮忙看下20行的python代码,文件io和数
- • python 爬虫爬wiki 报错 [Errno 65] No route to
- • python续点上传问题None bad token...
- • python3环境下文本中超链接出错,要如何修
- • Python环境保存操作思路问题求助
图文精华 RECOMMEND
-
Python程序员解决棘手问题的常用库
-
求问str()同__str__原理上有什么不同
-
scrapy框架里面用link extractor怎么能
-
python {}.fromkeys创建字典append添加操
-
python3 类型Type str doesn't support th
-
python里面为什么系统的时区是东八
热点文章 HOT
- 学习Python有什么好的书籍推荐?
- Python匿名函数 Lambda表达式作用
- Python与Java、C、Ruby、PHP等编程语言有什么
- Python 正则中文网页字符串提取问题
- 如何为实时性应用存取经纬度?django my
- 想用python做个客户端,在二维码登录这个地
- 有让IDE可识别Python函数参数类型的方法吗
- Python字符串转换成列表正则疑问