Django - 灯具中的外键

num*_*gil 13 django fixture

我有一个"用户"对象的夹具(只是默认的Django auth),我正在尝试创建一个"Profile"对象的夹具.每个配置文件与用户对象具有一对一的关系,并为该用户定义了一些更多的自定义内容.

据我所知,在夹具中处理外键的常规方法是将外来对象的主键硬编码到夹具中.有没有办法避免这样做?

基本上,我试图在夹具中使用"用户":用户名'而不是"用户":pk'.

有没有办法做到这一点?

Iss*_*lly 12

您正在寻找"自然钥匙" https://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys

  • 好吧,Unique Together不是_really_问题,问题是自然键没有为模型定义,这似乎是一个bug.是的,硬编码PK是现在有用的东西.对不起,我误解了你的目标,并把它看成是你自己的模特. (2认同)
  • 实际上,我发现很多人都对我的投票感兴趣,所以我花时间告诉他们如何获得投票(与实际投票的人不同,他们甚至不费力气解释原因)。我想我的评论是不友好的,对此我深表歉意,但我认为“无益”是绵延的。但是YMMV。 (2认同)

Işı*_*lan 9

您要做的是使用自然键进行序列化,解释here

基本上,您需要定义如何获得在这些特殊的经理和模型方法等领域的对象。

才发现这个问题9年前就有人问过了,什么?为什么它出现在顶部的提要中?

  • 嘿,这对我很有帮助,谢谢你在 9 年后的回复!=) (4认同)