小编luc*_*zbo的帖子

如何在多个文件中拆分factory_girl定义?

我的factories.rb文件变得太大而无法维护,我现在正试图将其拆分到factories目录中的许多文件中.问题是我不知道如何处理依赖项.

总而言之,我试图以下列方式分割我的工厂.所有序列都转到sequences.rb文件,每个工厂定义都转到单独的文件,如下所示:

工厂/ sequences.rb

FactoryGirl.define do
   sequence :name {|n| "Name #{n}" }
   sequence :email {|n| "person#{n}@example.com" }
end
Run Code Online (Sandbox Code Playgroud)

工厂/ user.rb

FactoryGirl.define do
    factory :user do
        name
        email
    end
end
Run Code Online (Sandbox Code Playgroud)

工厂/ post.rb

FactoryGirl.define do
    factory :post do
        name
        content "Post Content"
        user
    end
end
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,我得到的name是没有定义的错误.我可以通过传递一个块的每个关联(如处理这个name,email,user等)提及,但它似乎是丑陋和不干燥.

  1. 有没有办法factory_girl知道应该加载哪些文件的序列?
  2. 当无法通过更改文件的加载顺序来解决此问题时,处理复杂的依赖关系?

ruby-on-rails factory-bot

12
推荐指数
1
解决办法
930
查看次数

有人知道任何用户信誉引擎吗?

我开发网站,并希望为每个用户增加声誉值.所以我正在寻找具有以下功能的用户信誉引擎:

  • 良好的声誉模型
  • 用户在做其他用户喜欢的事情时获得声誉
  • 声誉较大的用户对其他声誉影响较大
  • 排除循环信誉交换
  • ...

有人知道有没有这种引擎的实现?首先,我对python/django实现很感兴趣但其他任何对我都很有趣.

python django web

9
推荐指数
1
解决办法
1190
查看次数

如何避免django"与相关的m2m字段冲突"错误?

我有很多具有投票功能的模型,所以我创建了一个这样的结构:

class Voteable(models.Model):
    likes_balance = models.IntegerField(default=0, editable=False)
    votes = models.ManyToManyField(User, blank=True, editable=False)
    likes = models.ManyToManyField(User, blank=True, editable=False)

    class Meta:
        abstract = True

class Item(Voteable):
    title = models.CharField(max_length=20, db_index=True)
    description = models.TextField(max_length=1000)
    contact_user = models.ForeignKey(User, null=True, blank=True)

    class Meta:
        abstract = True

class Movie(Item):
    cover = models.ImageField(upload_to='images/covers/')

class Car(Item):
    seller = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用"python manage.py syncdb"创建表时,我收到错误消息:

m2m字段的访问者'喜欢'与相关字段'User.movi​​e_set'的冲突.将related_name参数添加到"likes"的定义中.

因为我在Item类中有更多的字段,所以不想将它们全部复制到所有子类,只是设置像错误建议的related_name.

有什么建议怎么处理吗?

python django django-models

3
推荐指数
1
解决办法
4412
查看次数

标签 统计

django ×2

python ×2

django-models ×1

factory-bot ×1

ruby-on-rails ×1

web ×1