Perubahan Kecil yang Memberikan Hasil Luar BiasaAtomic Habits: Perubahan Kecil yang Memberikan Hasil Luar Biasa Orang mengira ketika Anda ingin mengubah hidup, Anda perlu memikirkan hal-hal besar. Namun pakar kebiasaan terkenal kelas dunia James Clear telah menemukan sebuah cara lain. Buy |
Di tutorial ini kita belajar cara membuat Many To Many Relations menggunakan SQLAlchemy. Selain itu kita akan mencoba mengmbil data relations menggunakan flask-alchemy.
Ditutorial sebelumnya kita juga telah belajar cara membuat relasi One To Many menggunakan flask-alchemy.
Untuk mengikuti tutorial ini pastikan Anda telah mendownload repositorynya terlebih dahulu, download di link berikut: https://github.com/halovina/flask-alchemy
Perhatikan 2 class models dibawah ini:
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(255), unique=True, nullable=False)
email = db.Column(db.String(255), unique=True, nullable=False)
first_name = db.Column(db.String(255), unique=False, nullable=True)
last_name = db.Column(db.String(255), unique=False, nullable=True)
password = db.Column(db.String(255), unique=False, nullable=False)
is_admin = db.Column(db.Boolean, default=False)
authenticated = db.Column(db.Boolean, default=False)
api_key = db.Column(db.String(255), unique=True, nullable=True)
date_added = db.Column(db.DateTime, default=datetime.utcnow)
# date_updated = db.Column(db.DateTime, onupdate=datetime.utcnow)
__tablename__ = "user"
def to_json(self):
return {
'id': self.id,
'first_name': self.first_name,
'last_name': self.last_name,
'username': self.username,
'email': self.email,
'is_admin': self.is_admin,
'is_active': True
}
def encode_api_key(self):
self.api_key = sha256_crypt.hash(self.username + str(datetime.utcnow))
class Address(db.Model):
id = db.Column(db.Integer, primary_key=True)
address = db.Column(db.Text, nullable=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
user = db.relationship('User', back_populates="addresses")
__tablename__ = "addresses"
User.addresses = db.relationship("Address", order_by=Address.id, back_populates="user")
Ikuti tutorial lengkapnya di video tutorial berikut: