目标是创建一个中间模型 (user_product),它有两个外键:user 和 product。
我们能否通过外部文件(以某种方式)中的用户和产品结构来实现这一点,或者我们必须将它们与 UserProduct 放在同一个文件中,就像在文档中一样?
此时,将它们放在外部并在 UserProduct 中导入它们,当然会抛出导入循环错误。
结构:
app/
models/
product.go
user.go
user_product.go
问题是,如果我使用 import "github.com/somehow/somehow/models"
在 user_product
中导入 product.go
,显然它还导入了 user_product
导入 models
等等。
最佳答案
一个文件夹中的所有文件都属于同一个包(文件顶部的包名必须相同!)。
您不需要导入属于同一个包(同一个文件夹)的其他文件。
只需删除导入,您仍然可以访问 user_product 中的产品,反之亦然。
关于go - 带有两个外键的中间模型 : file structure?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45053785/