Composite Foreign Key
You can add a constraint to the table in the following manner:

```python
class Post(Model):
    author = TextField()
    title = TextField()
    class Meta:
        database = db
        primary_key = CompositeKey('author', 'title')

class Comment(Model):
    post_author = TextField()
    post_title = TextField()
    comment = TextField()
    class Meta:
        constraints = [
            SQL('foreign key (post_author, post_title) references post(author, title)'),
        ]
        database = db
        depends_on = [Post]  # Since no explicit FK field, this ensures tables created in proper order.

db.create_tables([Post, Comment])

p1 = Post.create(author='a1', title='t1')
p2 = Post.create(author='a2', title='t2')
Comment.create(post_author=p1.author, post_title=p1.title, comment='p1-c')
Comment.create(post_author=p2.author, post_title=p2.title, comment='p2-c')
with db.atomic():
    try:
        Comment.create(post_author='a1', post_title='tx', comment='p1-x')
    except IntegrityError:
        print('received expected integrity error.')
with db.atomic():
    try:
        Comment.create(post_author='ax', post_title='t1', comment='p1-x')
    except IntegrityError:
        print('received expected integrity error.')

db.drop_tables([Post, Comment])
```

See the table of supported Model metadata options:

http://docs.peewee-orm.com/en/latest/peewee/models.html#model-options-and-table-metadata
The docs [state](https://www.bookstack.cn/read/peewee-orm-3.13.1-en/spilt.5.c7972b36e7689f24.md):

>  Peewee does not support the concept of a “composite foreign-key”

I assume the reason is because it makes the ORM joins complicated. 

However, I simply need to create a composite foreign-key in the database in order to maintain referential integrity for a particular use case. I will never need to join on these two columns through the ORM.

How can I instruct peewee to create a composite foreign-key at the database level, while defining my Model?