В настоящее время у меня есть две отдельные модели (показанные ниже), которые отлично работают для моего приложения в небольшом масштабе / тестировании.Однако, когда более 5000 клиентов ищут через раскрывающийся список FK, будет утомительно каждый раз при вводе заметки.
У меня вопрос: можно ли в любом случае поместить модель заметки в модель покупателя?Чтобы внутри моей модели Customer я мог добавлять заметки напрямую?
#models.py
samples_to_customer = Table('samples_to_customer', Base.metadata,
Column('customer_id', Integer, ForeignKey('customer.id')),
Column('sample_id', Integer, ForeignKey('samples.id'))
)
#Create a cusotmer model to store customer numbers
class Customer(Base):
__tablename__ = 'customer'
__acl__ = [
(Allow, 'admin', ALL_PERMISSIONS),
(Allow, 'saff', ('view', 'edit')),
]
id = Column(Integer, primary_key=True)
name = Column(Unicode, unique=True) #this will be the variable used to search the existing db
customer_samples = relationship('Sample', secondary='samples_to_customer', backref='samples')
sales_rep = Column(Integer, ForeignKey('rep.id'))
rep = relationship('Rep', backref='rep')
def __unicode__(self):
return self.name
# This model will have its own entry view/page a user logs on and enters notes (according to a customer
# number) they then get stored/saved onto the Customers account
class Note(Base):
__tablename__ = 'note'
__acl__ = [
(Allow, 'admin', ALL_PERMISSIONS),
(Allow, 'staff', ('view', 'edit')),
]
id = Column(Integer, primary_key=True)
name = Column(Unicode)
pub_date = Column(Date)
customer_no = Column(Integer, ForeignKey('customer.id'))
customer = relationship('Customer', backref='notes')
def __unicode__(self):
return self.name