标签: relationship

Django DRF 遵循关系

好吧,我正在尝试跟踪与 Django Rest Framework 的关系。

这是一个简化的模型:

class Model1(models.Model):
    name = models.CharField(max_length=20)
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

class Model2(models.Model):
    title = models.CharField(max_length=12, null=True, blank=True)
    model1 = models.ForeignKey(Model1, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)

和序列化器:

class Model1Serializer(serializers.ModelSerializer):
    class Meta:
        model = Model1
        fields = '__all__'

class Model2Serializer(serializers.ModelSerializer):
    class Meta:
        model = Model2
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

从 Model2 中,我想访问所有者属性,例如电子邮件......

如果没有 DRF 并且在标准模板中,我会这样做:

{{ instanceOfModel2.model1.owner.email }}
Run Code Online (Sandbox Code Playgroud)

这将遵循关系。

您知道如何使用 Django DRF 实现这一目标吗?

我查看了https://www.django-rest-framework.org/api-guide/relations/ 但我想要的是相反的方式......而且我不想通过 REST API 公开 Django 用户模型....

python django relationship django-rest-framework

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

以编程方式从另一个实体设置一个实体中的值.核心数据问题

我是Core Data的新手,看了很多教程和论坛,但没有找到解决我问题的优雅方案:

我的模型中有三个实体:Worker,Task和SubTask.每个都与它下面的实体有一对多关系,并且与一对一有关.Worker有很多任务,每个Task都有很多SubTasks,每个SubTask都有一个parentTask,每个Task都有一个Worker.SubTask有一个startTime属性,它被设置为newObject方法中的当前时间,以及一个触发我的SubTaskArrayController类中的endSubTask方法的按钮.endSubTask计算startTime和now之间的时间,并为SubTask属性timeWorked设置该值.到现在为止还挺好.问题:

获取所选Task的totalTimeWorked属性以更新自身的最佳方法是什么?

当我尝试类似的东西

[currentSubTask setValue:newTotalTime forKey:@"parentTask.totalTimeWorked"];

我明白了:

[setValue:forUndefinedKey:]:实体SubTask不是密钥parentTask.totalTimeWorked的密码值编码兼容.

如何访问当前所选SubTask的parentTask的属性?

cocoa entity core-data accessor relationship

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

实体框架映射3个表,彼此之间的关系

这是我的问题:我的数据库中有3个表

  1. 电影(电影列表)

    • ID
    • OriginalTitle ......
  2. 类型(所有类型的表格)

    • ID
    • 名称
  3. RelatedGenres(那些与特定电影相似并且指向特定类型的类型,因为电影可以有超过1种类型)

    • ID
    • MovieID
    • GenreID

关系如下:

Movies.ID - > RelatedGenres.MovieID - > Genres.ID

我有一个模型与assosiations(导航属性). 我得到了什么:

class Movie
{
   public int ID { get; set; }
   public string OriginalTitle { get; set; }
   public ObjectCollection<RelatedGenre> RelatedGenres { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

哪里

class RelatedGenre
{
   public int ID { get; set; }
   public int MovieID { get; set; }
   public ObjectCollection<Genre> Genres { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

class Movie
{
   public int ID …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework relationship sql-server-ce

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

NSPredicate with relationship @"SELF.<relationship>.<relationship>.<object> ==%@"

我有以下内容NSManagedObjects:

Product <<->> ProductAttribute <->> ProductAttributeOption
Run Code Online (Sandbox Code Playgroud)

使用NSPredicate ProductAttributeOption根据产品获取s 的正确方法是什么?

我没试过就试过以下内容:

[NSPredicate predicateWithFormat:@"ANY SELF.productAttribute.products MATCHES %@", product]

[NSPredicate predicateWithFormat:@"ANY SELF.productAttribute@distinctUnionOfSets.products MATCHES %@"", product]

[NSPredicate predicateWithFormat:@"ANY SELF.productAttribute.@distinctUnionOfSets.giftProducts LIKE[cd] %@", self.giftProduct]
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢!

core-data relationship nspredicate nsfetchedresultscontroller nsmanagedobject

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

Neo4j:关系方向密码

对于密码 -

match (m)-[r]-(n) where m.name = 'XYZ' return n.name, type(r), m.name

n.name      type(r)         m.name
XYZ         belongs_to      Ordering Status
XYZ         runs_on_queue   inbound
XYZ         runs_on_db      DBxc
Run Code Online (Sandbox Code Playgroud)

在这种情况下,订购状态是"拥有"XYZ的业务服务,关系定义如下:

CREATE (XYZ)-[:belongs_to]->(Order)
Run Code Online (Sandbox Code Playgroud)

类型(r)仅给出关系,但不给出关系的方向.这仍然是获得方向的最佳方式 - 我还注意到有关Cypher不可用的评论

Neo4j Cypher得到关系方向

谢谢.

relationship neo4j cypher

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

Yii2关系查询帮助:仅选择具有相关记录的记录

我有两个表A和B,关系"A有很多B".A可能没有任何B记录.

我需要编写一个查询,它只会选择那些在B中有相关记录的A记录.应忽略没有相关B记录的记录.使用Yii2活动记录我也试图加载所有A记录与急切加载相关的B记录.所以这就是我所拥有的:

Movies::find()->with('shows')->all();
Run Code Online (Sandbox Code Playgroud)

如何添加必要条件以过滤掉没有节目的电影?如何在依赖于节目数据的电影上添加任何条件?

activerecord relationship yii2

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

在laravel中使用相关模型的类

我试图通过使用"使用"给了别名,模型类的名称使用在laravel雄辩的方法相关模型的类名.例如,我使用过UserProfile模型类:

namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Models\UserProfile;
Run Code Online (Sandbox Code Playgroud)

而现在我正在以雄辩的方式使用它,如下所示:

public function profileDetails() {
    return $this->hasOne('UserProfile', 'user_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)

但这会引发一个错误.Class 'UserProfile' not found 如果我直接在这个雄辩的第一个参数中传递相关模型的名称和路径,那么它的工作正常

public function profileDetails() {
    return $this->hasOne('App\Models\UserProfile', 'user_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么它没有合作 use

php model relationship eloquent laravel-5

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

Laravel:使用关系表计算行数

我有两张相关的桌子.

结算:

| id | reon_id | 名字|

add_members:

| id | settlement_id | first_name | last_name | cipher_id |

在结算模型中他们的相关如下:

public function members()
{
    return $this->hasMany('App\AddMember');
}
Run Code Online (Sandbox Code Playgroud)

所以,首先我需要reon_id为1的所有成员,所以我喜欢这样:

$members = Settlement::where('reon_id', '1')
  ->with('members')
  ->count();
Run Code Online (Sandbox Code Playgroud)

这很有效.但是现在,我需要同样的东西,但也需要cipher_id为1.如果我在 - > with('members')之后添加 - > where('cipher_id','1')我得到这个错误:

(2/2)QueryException SQLSTATE [42S22]:找不到列:1054'where子句'中的未知列'cipher_id'

哪里错了?

count relationship laravel eloquent laravel-5

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

在Laravel Eloquent中选择具有关系的字段

如何在laravel雄辩的对象中选择字段

User::select('username', 'firstname', 'lastname')->with(['periods' => function($){
   $->select('jobtitle')->orderBy('start_date', 'desc')->limit(1);
}])->paginate(50);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我可能得到句点为空

subquery relationship laravel eloquent laravel-5

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

如何在laravel中获得经过验证的产品评论

我遵循数据结构,

产品

  1. ID
  2. 名称
  3. 描述

产品审核

  1. ID
  2. 用户身份
  3. PRODUCT_ID
  4. 评论
  5. 评分
  6. 状态(真/假)

关系是一对多,即一个产品有很多评论.

我想要的是加载所有经过验证评论的产品(即状态为真的评论)

我试过跟着,

 $products = Product::with('reviews')->get();
Run Code Online (Sandbox Code Playgroud)

但是当我迭代$products访问$ product-> reviews等评论时,会显示所有评论(甚至是状态错误评论).

任何建议都表示赞赏.

php model relationship laravel

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