Is it incorrect to say "on achète le fromage à la fromagerie?" (I know "on achète du fromage" is better) Similarly would it be incorrect to write "on achète les baguettes à la boulangerie"?
It is not incorrect, the emphasis on the word is different. "Le" will put the emphasis on the product you are buying (or on the location); "Du" will put it on the action of buying (what and where become optional)
Qu'est-ce que vous faites ? On vous attend pour le repas !
-> On achète des baguettes à la boulangerie et on arrive!
Vous avez pensé à prendre du pain ?
-> On achète les baguettes à la boulangerie et on arrive !
Using "les" will make the object you are talking about exist as specific or special in your sentence, which can be weird if used without purpose but is not incorrect.
It depends on what you mean by incorrect.
If it's grammaticaly incorrect, then no, it's not incorrect.
If it's incorrect in the sense that it's not the only place to buy cheese from, then yes, it's incorrect.
But in both cases, if you ask that to someone, he will understand what you mean and answer you, so it's not really an issue.
It's not so, "du" and "des" are neither better nor worse; either they are proper, either they are not; what one can say is that at least in one case they might be preferable from the point of view of wanting to preserve a certain specificity, which however is not always a crucial concern.
Whether you should use one or the other depends entirely on the context, that is, more precisely, what you want to say, what you have in mind.
I There are two types of contexts that call for "le".
a/ When you go shopping for groceries you never fail to buy cheese, that is you are in the habit of buying cheese, for some reason (you eat a lot of it, you want fresh cheese everyday, …)
b/ On the particular day when you talk about buying cheese, before talking about buying some, for instance,
- you had decided that you would have a cheese meal¹, or
- ( other possibility) you had noticed that the supply of cheese was low and that you had to replenish it, or again,
- you had talked with the friend or relative you go shopping with of a special sort of cheese you had liked to have and you said that you planned on buying some, or
These are just four possibilities and there are a lot more under "b/" but they all have in common the characteristic of representing a specific buy to you, a specific cheese, and so, in thinking about that particular cheese you use "le";
The use of "le" being made is the determinative use, because you can add a specifier ;
- le fromage (que j'achète d'habitude) or (qui fait partie de mon épicerie d'habitude)
- le fromage (pour le repas de fromage)
- le fromage (pour la réserve)
- le fromage (rare que je veux essayer)
When talking again and again about it you do not repeat the specifier, unless it is not clear which cheese you're talking about. For instance, if you had in mind two concerns with cheese instead of one you'd have to say this so as to avoid an ambiguity;
- On achète le fromage pour la réserve au supermarché et le fromage que je veux essayer à la fromagerie ?
Do not fail to realise that you do the exact same thing when you think in English: you use "the" for the same reason.
II You do not eat cheese regularly, for a week you do and for three weeks in a row you don't eat cheese at all (for instance); also on the particular day when you talk about buying cheese, there has been no special concern for cheese. Suddenly, on your way to the shops you think about cheese and how it would be nice to have some; as you begin speaking about it you can't refer to any cheese in particular, it is not determined and so you just mention cheese in general and use "du" (some cheese, as meaning a small quantity of cheese); as you've mentioned that, the person you are talking to and yourselves are aware that you are going to buy cheese; after that first time of using "du" you use only "le" if you want to refer to the particular buy of cheese you just agreed on; however you don't have to. Again, let's recall that there is no difference in English, if you follows your English way of thinking you can't get wrong.
— Et si on achetait du fromage ?
— Du fromage ? Ah oui, c'est une bonne idée ! (séparation des deux clients qui vont chacun de leur bord dans le magasin après quoi ils se retrouvent)
— Tu as pris du/le fromage ? (both are correct because of the decision to buy cheese (1) and (2), however, you might feel that it is better to be more specific, risk no ambiguity, and so refer to the decision you made by using "le").
(on the way home in the car)
— Montre moi le fromage, je voudrais voir l'étiquette.(It is not clear which cheese is meant here, whether it is the cheese that was a good idea or the cheese we just bought; however we tend to think it is the cheese that's just been bought and it is the same anyway, so it doesn't matter much; "du" wouldn't make sense, as "some" in English, wouldn't either.)
— Le voilà …
— Tu as pensé à acheter du fromage mais tu a oublié l'huile d'olive. Tu crois que c'est du bon fromage ?
III The same principles are valid for anything ("baguettes"), of course .
¹ "Cheese meal" is apparently not found in the dictionaries; I meant to say "a meal made up of only cheese, bread and drink"; there are several sorts of them but usually they comprise from 4 or 5 to 10 sorts of cheese; they are called "repas de fromage" or "repas fromage" in French (repas fromage).
- Suppose you are preparing a picnic with some friends and have already talked with them about the number of " baguettes" you need, you will say :
" on achètera les baguettes à la boulangerie" ( that is : the " baguettes" we already talked about..." )
- In the same way, if you already have talked about the " cheese question" with your friends, or if you mean a certain sort of cheese you have talked with them about, you will say :
" on achètera le fromage à la fromagerie."
- Now, if it happens that " baguettes " or " fromage" have not been talked about in a previous conversation, you will say, for example:
" Pourquoi ne pas faire un picnic? Si vous le voulez, je peux m'arrêter au supermarché pour acheter des baguettes et du fromage" ( probably not the most fabulous picnic ever, I concede this ...)
In case you only need one baguette, saying " acheter une baguette" is better than " acheter la baguette" ( except when "la baguette" makes sense due to the fact this unique "baguette" you need has already been referred to).
- Now suppose a french language teacher wants to check his students knowledge of french vocabulary. The teacher may ask the question :
" Où achète-t-on du fromage?" ( --> on achète du fromage à la fromagerie)
" Où peut-on acheter une/des baguette/s?" ( --> on achète une/des baguettes à la boulagerie).
But " où le fromage s'achete-t-il?" is also correct ( where "fromage" is taken in a general sense " cheese in general, whatever sort of cheese it may be").
Note that french people are fond of saying " ma baguette " , " mon fromage" : "il est presque midi, il faut que j'aille acheter ma baguette / mon pain " , " je prends toujours mon fromage chez Durand, c'est le meilleur fromager de la ville". ( This way of speaking is a bit old fashioned, though. you'll probably not here many young persons saying things like this.).
Un Français avec son vélo et sa baguette.