Я могу включить страну в качестве внешнего ключа в модель города
Это кажется хорошей идеей.
А потом, если я добавлю и город, и страну в другую модель (скажем, контент), тогда это будет как зависимые поля выбора? как города будут отображаться в зависимости от выбранной страны через ajax?
Нет, он не будет фильтроваться автоматически, вам нужно будет написать этот код самостоятельно. И в админке и на фронтенде.
а также есть ли способ добавить город на месте при добавлении основных данных контента, если города еще нет в списке?
Вы получите это в админке.
Продолжайте и начните делать это, и когда вы столкнетесь с конкретными проблемами, опубликуйте их здесь, если вы не можете решить их. Также прочитайте Django Docs, он довольно подробно про тему моделей.