小编Eng*_*san的帖子

如何从 Django 中的一对多关系中检索数据?

我正在使用 django 1.10 制作我的个人网站

这是技能应用程序的模型:

from __future__ import unicode_literals

from django.db import models


# Create your models here.
class Skill(models.Model):
    name = models.CharField(max_length=256)
    created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True, auto_now_add=False)

    def __unicode__(self):
        return self.name

    def __str__(self):
        return  self.name


class Subskill(models.Model):
    skill = models.ForeignKey(Skill, on_delete=models.CASCADE)
    name = models.CharField(max_length=256)
    link = models.CharField(max_length=256)
    created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True, auto_now_add=False)

    def __unicode__(self):
        return self.name

    def __str__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

并查看:

from django.shortcuts import render
from skill.models import Skill,Subskill


# Create your views …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models one-to-many django-views

6
推荐指数
1
解决办法
3603
查看次数

如何使用 github repo 作为 CDN 服务器来上传资产文件?

我正在学习 ruby​​ on Rails。我正在开发 Rails 5 应用程序。我不想使用 amazon s3 服务来包含我的资产文件。我想使用 github 来像 CDN 一样提供我的资产文件。

但我面临一个问题,我有动态文件和图像上传系统。因此,当我上传我的文件和图像时,所有文件和图像都将上传到 github 存储库中(假设,我有一个名为 的 git 存储库busket;因此,所有图像和文件都将从我的服务器上传到busket存储库中并提供服务)来自 Rails 应用程序的所有资产)。

那么,如何让 github 像 CDN 一样呢?请帮我解决这个问题。

ruby git ruby-on-rails cdn github

5
推荐指数
1
解决办法
2915
查看次数

Rails在多个关系中找不到逆关联

我在rails 5中有两个模型(它们之间有一对多的关系),一个是带有Admin命名空间的ScholarshipGroup和Scholarship模型.

奖学金组模型:

class Admin::ScholarshipGroup < ApplicationRecord    
  has_many :admin_scholarships, :class_name =>   'Admin::Scholarship',inverse_of: :admin_scholarship_group
end
Run Code Online (Sandbox Code Playgroud)

和奖学金模式:

class Admin::Scholarship < ApplicationRecord
  belongs_to :group, :class_name=> 'Admin::ScholarshipGroup',   inverse_of: 'admin_scholarships'      
end
Run Code Online (Sandbox Code Playgroud)

我想要获得奖学金组下所有奖学金的数据.但是当我从rails控制台运行此查询时:

$ Admin::ScholarshipGroup.first.admin_scholarships.first
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误:

Admin::ScholarshipGroup Load (0.3ms)  SELECT  "admin_scholarship_groups".* FROM "admin_scholarship_groups" ORDER BY "admin_scholarship_groups"."id" ASC LIMIT ?  [["LIMIT", 1]]
ActiveRecord::InverseOfAssociationNotFoundError: Could not find the inverse association for admin_scholarships (:admin_scholarship_group in Admin::Scholarship)
        from /usr/local/rvm/gems/ruby-2.3.1@college/gems/activerecord-5.0.0.1/lib/active_record/reflection.rb:202:in `check_validity_of_inverse!'
        from /usr/local/rvm/gems/ruby-2.3.1@college/gems/activerecord-5.0.0.1/lib/active_record/reflection.rb:402:in `check_validity!'
        from /usr/local/rvm/gems/ruby-2.3.1@college/gems/activerecord-5.0.0.1/lib/active_record/associations/association.rb:25:in `initialize'
        from /usr/local/rvm/gems/ruby-2.3.1@college/gems/activerecord-5.0.0.1/lib/active_record/associations.rb:235:in `new'
        from /usr/local/rvm/gems/ruby-2.3.1@college/gems/activerecord-5.0.0.1/lib/active_record/associations.rb:235:in `association'
        from /usr/local/rvm/gems/ruby-2.3.1@college/gems/activerecord-5.0.0.1/lib/active_record/associations/builder/association.rb:111:in `admin_scholarships'
        from (irb):34
        from /usr/local/rvm/gems/ruby-2.3.1@college/gems/railties-5.0.0.1/lib/rails/commands/console.rb:65:in `start' …
Run Code Online (Sandbox Code Playgroud)

ruby has-many one-to-many ruby-on-rails-4

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