我有一个采购模块的供应商模型,我只是把它导入我的库存模块。你知道吗
Here is my Purchase Module Model Supplier
from django.db import models
from django_countries.fields import CountryField
from Inventory.models import productDetails,products
from Accounts.models import elementaryhead
from datetime import datetime
import base64
# Create your models here.
class suppliers(models.Model):
companyName=models.CharField(max_length=30,verbose_name='Company Name')
companyAddress=models.CharField(max_length=50,verbose_name='Company Address')
city=models.CharField(max_length=20,verbose_name='City')
region=models.CharField(max_length=20,verbose_name='Region')
country=CountryField()
postalCode=models.IntegerField(verbose_name='Postal Code')
companyPhone=models.IntegerField(verbose_name="Company Phone")
companyFax=models.IntegerField(verbose_name='Company Fax')
elementaryID=models.ForeignKey(elementaryhead,on_delete=models.CASCADE,default=None,null=True,verbose_name='Elementary head',editable=False)
buyer=models.BooleanField(default=None,verbose_name='Is Buyer',editable=False)
supplier=models.BooleanField(default=None,verbose_name='Is Supplier',editable=False)
website=models.URLField(default=None,verbose_name='Website')
def save(self, force_insert=False, force_update=False, using=None,
update_fields=None):
accountID = elementaryhead.objects.order_by('id').last().id + 1
code = '00003-000010-0000' + str(accountID)
subhead=10
elementaryhead.objects.create(subhead_id=subhead, name=self.companyName,fixed=False, codes=code, right=True)
accountID = elementaryhead.objects.order_by('id').last().id + 1
subhead=11
code = '00003-000011-0000' + str(accountID)
elementaryhead.objects.create(subhead_id=subhead, name=self.companyName+'(I/TAX PAYABLE)',fixed=False, codes=code, right=True)
accountID = elementaryhead.objects.order_by('id').last().id + 1
subhead=15
code = '00003-000015-0000' + str(accountID)
elementaryhead.objects.create(subhead_id=subhead, name=self.companyName+'(GST W/HELD PAYABLE)',fixed=False, codes=code, right=True)
self.supplier = True
self.buyer = False
super(suppliers,self).save()
def __str__(self):
return self.companyName
Here is my Inventory Module Model InventoryIn
from django.db import models
from datetime import datetime
from Purchase.models import suppliers,contracts
class inventoryIn(models.Model):
supplierID=models.ForeignKey(suppliers,on_delete=models.CASCADE,verbose_name='Supplier')
productID=models.ForeignKey(products,on_delete=models.CASCADE)
purchaseContractID=models.ForeignKey(contracts,on_delete=models.CASCADE)
unitsIn=models.IntegerField(verbose_name='Units In')
doID=models.IntegerField(verbose_name='Do ID')
doImage=models.ImageField(upload_to='/assets/image')
invoiceID=models.IntegerField(verbose_name='Invoice ID')
invoiceImage=models.ImageField(upload_to='/assets/image')
agingDate=models.DateField()
dateOfEntry=models.DateField(default=datetime.now())
def __str__(self):
return self.supplierID
我基本上是添加了两个ForeignKey(supplierID,purchasecontracid),这与购买有关模块。但是它抛出了一个错误
ImportError: cannot import name 'suppliers' And i had tried to import it within the InventoryIn Model Class. But its didn't worked for me.
这是循环导入。但你可以通过以下方式来忽略这个问题
也别忘了删除这个导入
你有一个循环导入。一个Python文件从另一个文件导入,反之亦然。这就导致了这种问题——B试图在A仍在设置时从中导入。你知道吗
最简单的解决方案是将它们全部放在一个文件中,另一个黑客解决方案是只在
save
函数中导入另一个模块(以后会发生这种情况)。你知道吗更好的解决方案是仔细检查数据模型,看看为什么会有这种循环,以及这是否真的有必要,因为这通常是一个糟糕设计的标志。你知道吗
你有一个循环导入。但似乎没有任何理由将库存模型导入供应商,因为您没有在该文件中使用它们。删除导入。你知道吗
相关问题 更多 >
编程相关推荐