标签: many-to-many

获取Django应用程序中的所有表名称

如何在Django应用程序中获取所有表名?

我使用以下代码,但它没有得到ManyToManyField创建的表

from django.db.models import get_app, get_models
app = get_app(app_name)
for model in get_models(app):
    print model._meta.db_table
Run Code Online (Sandbox Code Playgroud)

python django many-to-many

37
推荐指数
2
解决办法
2万
查看次数

UnsupportedOperationException合并 - 保存与hibernate和JPA的多对多关系

我已经建立了一个简单的多对多关系帐户:Hibernate的角色,但是当我尝试在单元测试中保存帐户后添加了其角色,我得到一个UnsupportedOperationException:

java.lang.UnsupportedOperationException
    at java.util.AbstractList.remove(AbstractList.java:144)
    at java.util.AbstractList$Itr.remove(AbstractList.java:360)
    at java.util.AbstractList.removeRange(AbstractList.java:559)
    at java.util.AbstractList.clear(AbstractList.java:217)
    at org.hibernate.type.CollectionType.replaceElements(CollectionType.java:502)
    at org.hibernate.type.CollectionType.replace(CollectionType.java:582)
    at org.hibernate.type.TypeHelper.replace(TypeHelper.java:178)
    at org.hibernate.event.def.DefaultMergeEventListener.copyValues(DefaultMergeEventListener.java:563)
    at org.hibernate.event.def.DefaultMergeEventListener.entityIsPersistent(DefaultMergeEventListener.java:288)
    at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:261)
    at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84)
    at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:867)
    at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:851)
    at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:855)
    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:686)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
    at $Proxy33.merge(Unknown Source)
    at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:360)
    at ....JpaProvider.save(JpaProvider.java:161)
    at ....DataModelTest.testAccountRole(DataModelTest.java:47)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
    at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
    at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
    at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
    at …
Run Code Online (Sandbox Code Playgroud)

many-to-many hibernate jpa

37
推荐指数
2
解决办法
1万
查看次数

我如何在Yii2中处理多对多关系

例如,由于文档(http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#relational-data)的一对多,您可以通过以下方式链接两个模型(one-many = company-zone):

$defaultZone = new Zone;
$defaultZone->name = Zone::DEFAULT_ZONE;
$company->link('zones', $defaultZone);
Run Code Online (Sandbox Code Playgroud)

但是当你有转机表时,它如何适用于多对多关系tbl_user_market(user_id, market_id)

php many-to-many yii2

35
推荐指数
1
解决办法
4万
查看次数

在Django Admin中过滤ManyToMany框

我有一个与另一个对象有多对多关系的对象.
在Django Admin中,这会在多个选择框中生成一个很长的列表.

我想过滤ManyToMany关系,因此我只获取客户选择的City中可用的类别.

这可能吗?我是否必须为它创建一个小部件?如果是这样 - 我如何将行为从标准的ManyToMany字段复制到它,因为我也想要filter_horizo​​ntal函数.

这些是我的简化模型:

class City(models.Model):
    name = models.CharField(max_length=200)


class Category(models.Model):
    name = models.CharField(max_length=200)
    available_in = models.ManyToManyField(City)


class Customer(models.Model):
    name = models.CharField(max_length=200)
    city = models.ForeignKey(City)
    categories = models.ManyToManyField(Category)
Run Code Online (Sandbox Code Playgroud)

django many-to-many django-forms django-admin django-widget

34
推荐指数
3
解决办法
3万
查看次数

搜索具有空"to-many"关系的所有对象的Core Data

在与这个问题几乎完全相同的情况下,只有我正在寻找一种与另一种类型没有任何多对多关系的记录.

所以,假设我有一组患者和一组清单.患者可以属于多个列表,并且列表可以包含多个患者.

如何查找不在任何列表中的所有患者? 我正在使用核心数据模型.

更新:想出来,但由于我的声誉<100,我无法回答我自己的问题.这是我做的:

NSPredicate *predicate = [NSPredicate
                          predicateWithFormat:@"lists.@count == 0"];
[fetchRequest setPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)

然后,当我运行获取请求时,它只会启动没有附加列表的患者.

iphone many-to-many core-data nsfetchedresultscontroller ios

34
推荐指数
2
解决办法
3790
查看次数

@ManyToMany(mappedBy ="foo")

Foo有:

@ManyToMany(mappedBy = "foos")
private Set<Bar> bars
Run Code Online (Sandbox Code Playgroud)

和酒吧有:

@ManyToMany
private Set<Foo> foos
Run Code Online (Sandbox Code Playgroud)

除了table被称为foo_bar或bar_foo之外,mappedBy属性的位置与双向关系有什么不同; 如果没有mappedBy属性,我会得到两个连接表,包括foo_bar和bar_foo.

java orm many-to-many jpa

34
推荐指数
1
解决办法
2万
查看次数

如何使用带有has_many的Rails 4强参数:通过关联?

我无法获得has_many:通过使用Rails 4强大参数的关联.我有一个名为的模型Checkout,我需要Employee在新的结帐表单中从模型中选择一个人.结账和员工通过Employment模型关联.

我尝试创建新的结帐时收到此错误:

NoMethodError in CheckoutsController#create
undefined method `employee' for #<Checkout:0x007ff4f8d07f88>
Run Code Online (Sandbox Code Playgroud)

似乎我的创建操作,结帐参数或我的新结帐表单都有问题.这是创建动作:

  def create    
    @user = current_user
    @checkout = @user.checkouts.build(checkout_params)

    respond_to do |format|
      if @checkout.save
        format.html { redirect_to @checkout, notice: 'Checkout was successfully created.' }
      else
        format.html { render action: 'new' }
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

我的结帐参数:

def checkout_params
      params.require(:checkout).permit(:job, :employee_ids, :shift, :date, :hours, :sales, :tips, :owed, :collected, :notes)
end
Run Code Online (Sandbox Code Playgroud)

我的新结账表格:

<div class="field">
     <%= f.label :employee %><br>
     <%= f.collection_select(:employee_ids, Employee.all.collect, :id, :full_name, {:prompt => "Please …
Run Code Online (Sandbox Code Playgroud)

activerecord many-to-many strong-parameters ruby-on-rails-4

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

在MVC创建视图中保存多对多关系数据

我有一些与多对多关系的问题,保存了创建视图的结果.

我想为新的用户配置文件创建一个创建页面,该配置文件有一个清单,可以让他们选择课程(多对多关系).我的视图从Courses数据库中获取记录,并使用复选框显示所有记录.

一旦用户发布数据,我想更新我的userprofile模型,以及courses多对多关系.那是我遗漏的代码!

我是MVC的新手,我一直在研究,但我还没有做到.

我遵循这个例子:http: //www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/updating-related-data-with-the-entity-framework-in-an- ASP净MVC应用程序

这是模型:

public class UserProfile
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Courses>  usercourses { get; set; }
}

public class Courses
{
    public int CourseID { get; set; }
    public string CourseDescripcion { get; set; }
    public virtual ICollection<UserProfile> UserProfiles { get; set; }
}

public class UserProfileDBContext : DbContext
{
    public DbSet<UserProfile> UserProfiles { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc many-to-many entity-framework razor asp.net-mvc-3

33
推荐指数
1
解决办法
4万
查看次数

使用linq/Entity Framework查询多对多关系.CodeFirst

如何首先使用Entity Framework代码和linq查询多对多关系?问题是EF自动创建关系表.所以,我没有在我的背景下.

这是关系模型:

在此输入图像描述

我需要一个特定Category_Id的文章列表,基本上复制类似的东西:

select a.Id, a.Title,a.ShortDescription                       
from Articles a
join CategoryArticles ca on ca.Article_Id=a.Id
where ca.Category_Id  = @parameter
Run Code Online (Sandbox Code Playgroud)

但是我的dbcontext只有:

public DbSet<Article> Articles { get; set; }
public DbSet<Category> Categories { get; set; }.
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

c# linq many-to-many entity-framework

33
推荐指数
2
解决办法
3万
查看次数

通过未标记为级联PERSIST的关系找到了一个新对象

在尝试获得@OneToMany之间的关系时Article,HeaderField我可能有不正确的映射,导致:

init:
Deleting: /home/thufir/NetBeansProjects/USENET/build/built-jar.properties
deps-jar:
Updating property file: /home/thufir/NetBeansProjects/USENET/build/built-jar.properties
compile:
run:
DEBUG: nntp: newsrc loading /home/thufir/.newsrc
DEBUG: nntp: newsrc load: 1 groups in 31ms
[EL Info]: 2012-07-31 02:05:05.677--ServerSession(8979162)--EclipseLink, version: Eclipse Persistence Services - 2.3.0.v20110604-r9504
[EL Info]: 2012-07-31 02:05:06.778--ServerSession(8979162)--file:/home/thufir/NetBeansProjects/USENET/build/classes/_USENETPU login successful
[EL Warning]: 2012-07-31 02:05:06.903--ServerSession(8979162)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'usenet.HEADERFIELD' doesn't exist
Error Code: 1146
Call: ALTER TABLE HEADERFIELD DROP FOREIGN KEY FK_HEADERFIELD_ARTICLE_ID
Query: DataModifyQuery(sql="ALTER TABLE HEADERFIELD DROP …
Run Code Online (Sandbox Code Playgroud)

orm annotations many-to-many jpa jpql

32
推荐指数
1
解决办法
7万
查看次数